Ho una tabella che contiene 3 righe. Ogni riga ha la classe: .myClass
.Come cambiare classe per tutti gli elementi recuperati da document.getElementsByClassName
Ho quindi richiesto le righe della tabella con document.getElementsByClassName('myClass')
e iterato sugli elementi, modificando la classe di ciascuna riga su .otherClass
.
Tuttavia,
console.log(document.getElementsByClassName('otherClass'))
restituito solo una riga.
E, quando ho guardato il DOM, solo la prima riga .myClass
aveva la sua classe modificata in .otherClass
; l'altro è rimasto intatto.
Come posso modificare la classe di tutte le righe .myClass
su .otherClass
?
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>
non riesco a vedere otherClass nel tuo html. –
'var x = c.getElementsByClassName ('otherClass'); 'non redeclare' x' – royhowie
@BhojendraNepal, lo imposta come parte del codice – freefaller