Sto lavorando a un progetto che ha un div con 32 bambini. Devo creare un menu a tendina che cambierà lo sfondo di ogni div e del genitore. Per le altre parti del progetto che non hanno figli, ho utilizzato il seguente codice:Come selezionare tutti i figli di un elemento con javascript e modificare la proprietà CSS?
function changediv(color) {
document.getElementById('div1').style.background = color;
}
HTML:
<select>
<option onClick="changediv('#555');">Hex</option>
<option onClick="changediv('blue');">Colorname</option>
<option onClick="changediv('url(example.com/example.png)');">Image</option>
</select>
ho potuto solo aggiungere un ID diverso per ogni bambino (id1 , id2, id3, ...), ma ci sono 32 bambini e non solo dovrei aggiungere 32 ID, ma anche 32 linee di Javascript. Ci deve essere un modo migliore; in qualche modo selezionando i bambini o addirittura cambiando il codice CSS effettivo che seleziona i bambini.
Grazie, Ian
Hai provato una soluzione CSS pura? Non dovrebbe assolutamente avere alcun JS. – Hamish
Lo farei, ma devo usare il menu a tendina per cambiare gli sfondi div, e potrei essere in grado di farlo, ma sarebbe estremamente complicato. – Ian