Вы можете заключить каждый символ в элемент span с помощью пользовательского класса:
function wrapCharacters(element, prefix) {
element.innerHTML = element.textContent
.split('')
.map(function(char, index) {
return '<span class="' + (prefix || 'span') + '_' + index + '">' + char + '</span>';
})
.join('');
}
document.querySelectorAll('.taxonomy a').forEach(function(element) {
wrapCharacters(element);
});
.taxonomy a .span_3 { margin-right: 1px; }
.taxonomy a .span_4 { margin-right: 3px; }
.taxonomy a .span_5 { margin-right: 3px; }
.taxonomy a .span_6 { margin-right: 7px; }
<div class="taxonomy">
<a href="#">SampleText</a>
</div>
Теперь вы можете получить доступ к отдельным персонажам с помощью CSS, например:
.taxonomy a .span_0 { margin-right: 1px; }
.taxonomy a .span_1 { margin-right: 4px; }
.taxonomy a .span_2 { margin-right: 2px; }
ES6 Версия
const wrapCharacters = (element, prefix) =>
element.innerHTML = element.textContent
.split('')
.map((char, index) => `<span class="${prefix || 'span'}_${index}">${char}</span>`)
.join('');