Как добавить класс к элементу, созданному с использованием document.createElement?
Мне удалось добавить класс к элементу ul, но я не могу получить правильный синтаксис для добавления классов к элементам li и a. Может кто-нибудь помочь, пожалуйста?
<script>
anchors.options.placement = 'left';
anchors.add('.entry-content h2');
generateTableOfContents(anchors.elements);
// External code for generating a simple dynamic Table of Contents
function generateTableOfContents(els) {
var anchoredElText,
anchoredElHref,
ul = document.createElement('UL');
ul.className = "uk-nav uk-nav-default";
document.getElementById('table-of-contents').appendChild(ul);
for (var i = 0; i < els.length; i++) {
anchoredElText = els[i].textContent;
anchoredElHref = els[i].querySelector('.anchorjs-link').getAttribute('href');
addNavItem(ul, anchoredElHref, anchoredElText);
}
}
function addNavItem(ul, href, text) {
var listItem = document.createElement('LI'),
anchorItem = document.createElement('A'),
textNode = document.createTextNode(text);
anchorItem.href = href;
ul.appendChild(listItem);
listItem.appendChild(anchorItem);
anchorItem.appendChild(textNode);
}
</script>
1 ответ
Решение
Перед добавлением тега li в ul вам нужно добавить свой класс, затем добавить тег li к тегу ul следующим образом
var listItem = document.createElement('LI');
listItem.className = 'someClassName';
ul.appendChild(listItem);