Ну я положил tablerows с именем класса «ушедшим» в моем Html так:Javascript: getElementsByClassName не давая все элементы
<tr class="gone">
<th>text</th>
<td>text</td>
</tr>
<tr class="gone">
<th>text</th>
<td>text</td>
</tr>
<tr class="gone">
<th>text</th>
<td>text</td>
</tr>
<tr class="gone">
<th>text</th>
<td>text</td>
</tr>
<tr class="gone">
<th>text</th>
<td>text</td>
</tr>
<tr class="gone">
<th>text</th>
<td>text</td>
</tr>
и когда я получаю мои элементы в JavaScript с этим кодом:
var arrayelements=document.getElementsByClassName('gone');
var arrlength=arrayelements.length;
for(var i=0;i<arrlength;i++){
arrayelements[i].setAttribute("class","there");
console.log(arrayelements);
}
возвращаемого значение моего console.log является
> <tr class="there">...</tr>
> <tr class="there">...</tr>
> <tr class="there">...</tr>
> undefined
в следующий раз я запустить его результат
> <tr class="there">...</tr>
> <tr class="there">...</tr>
> undefined
я не понимаю, почему это вдруг неопределенными
Человек, 'undefined' в порядке, coz, что бы вы ни делали, ничего не возвращает. Так оно и есть. Но позвольте мне попытаться воспроизвести. –
Не должен ли console.log быть вне цикла? Или вы хотите зарегистрировать arrayelements [i] в цикле? Или ваша цель состоит в том, чтобы все это шаг за шагом? –
да, значит, элементы массива [i] ... – Beysinvader