Ich habe eine Tabelle, die 3 Zeilen enthält. Jede Zeile hat die Klasse: .myClass
.Wie Klasse für alle Elemente geändert werden, die von document.getElementsByClassName abgerufen werden
I-Abfrage für die Tabellenzeilen dann mit document.getElementsByClassName('myClass')
und iterieren über die Elemente, jede Zeile der Klasse .otherClass
ändern. Jedoch
,
console.log(document.getElementsByClassName('otherClass'))
ergab nur eine Zeile.
Und als ich das DOM betrachtete, hatte nur die erste .myClass
Zeile ihre Klasse geändert in .otherClass
; der andere blieb unberührt. Wie kann ich die Klasse aller .myClass
Zeilen in ändern?
var c = document.getElementsByClassName('myTable')[0];
var x = c.getElementsByClassName('myClass');
for (var i = 0; i < x.length; i++) {
x[i].className = 'otherClass';
}
x = c.getElementsByClassName('otherClass');
console.log(x); // only one element
<table class="myTable">
<tr class="myClass2">
<td>Content</td>
<td>Content</td>
</tr>
<tr class="myClass">
<td>Content</td>
<td>Content</td>
</tr>
<tr class="myClass">
<td>Content</td>
<td>Content</td>
</tr>
</table>
Ich kann nicht in Ihrem Other html sehen. –
'var x = c.getElementsByClassName ('otherClass'); 'nicht redeclare' x' – royhowie
@BhojendraNepal, er setzt es als Teil des Codes – freefaller