Ho un collegamento e una riga di tabella che hanno classi corrispondenti. Quando si fa clic sul collegamento, vorrei cambiare il colore di sfondo della riga con la stessa classe. Per ogni caso, ci sarà solo una riga con la stessa classe.Modifica del colore di sfondo di tutti gli elementi con la stessa classe
Ecco la mia funzione corrente.
<script type="text/javascript">
function check(x) {
elements = document.getElementsByClassName(x);
for (var i = 0; i < elements.length; i++) {
elements[i].bgColor="blue";
}
}
</script>
Ecco una parte dello script riga della tabella:
<tr class="alt1 12">
<td width="50" height="55">
<img src="iPhone/statusicon/12.png" alt="" id="forum_statusicon_12" border="0"></td>
<td>
<div class="forumtitle">
<a class="forumtitle 12" href="forumdisplay.php?f=12" action="async" onclick="check(this.className.split(' ')[1])">News and Current Events</a></div>
</td>
<td width="25">
<div class="forumarrow"><img src="iPhone/chevron.png" alt="" border="0"></div>
</td>
</tr>
La riga della tabella ha due classi, e ho bisogno il secondo (il numero) di essere ciò che è indirizzato. Il codice attuale dà l'errore "una stringa non valida o illegale è stato specificato"
Questo sembra di gran lunga il migliore per me, non c'è motivo di preservare il mix id/class dispari e jQuery è eccessivo per un'operazione così semplice. – Bubbles
scusate per quello, avevo inavvertitamente postato il codice sbagliato. solo una domanda finale ... mi sono reso conto che ho due classi assegnate a ogni riga ... lo script assegna automaticamente il primo, e questo annuncio un altro delimitato da uno spazio. come posso gestire questa situazione? Voglio sempre inviare la seconda classe a questa funzione. –
basta sostituire '' 'this.className''' con' '' this.className.split ('') [1] '' ' – drinchev