Опять же, я следую своему справочнику и ссылкам в Интернете при использовании setAttribute: это просто не работает;
HTML:
<div id="page">
<h1 id="header"></h1>
<h2 id="subheader"></h2>
<p id="pone"></p>
<ul >
<li id="one" class="lit" >ad nauseum</li>
<li id="two" class="lit">ad item</li>
<li id="three" class="lit">ad item</li>
<li id="four" class="lit">ad item</li>
</ul>
</div>
<script src="js/DOM_js.js"></script>
CSS:
.lit { font-size: 14px;}
.lite { font-size: 20px; font-style:italic;}
JS:
// Change class names of li
var alli = document.getElementsByTagName("li");
alert(alli.length);
// li one
var lione = document.getElementById("one");
lione.textContent = "First point: ";
// Ask for first point
var fpOne = prompt("What is your first point?");
//change li one text
lione.textContent += fpOne;
alli.setAttribute("class","lite");
атрибут set не работает, даже если я помещаю строку сразу после alert(): после чего подсказка не работает. Я даже пробовал:
var alli = document.getElementsByTagName("li").setAttribute("class","lite");
alert(alli.length);
В этот момент ничего не работает.
Я даже пытался удалить исходный атрибут класса для тегов li, как было предложено в аналогичном вопросе о стеке, но все безрезультатно.
Какова правильная техника setAttribute?
.getElementsByTagName()
возвращает список элементов, а не один. Вы должны установить атрибут для каждого элемента отдельно. - person Pointy   schedule 27.08.2015