Pracuję nad projektem, który ma element div z 32 dziećmi. Potrzebuję utworzyć menu rozwijane, które zmieni tło każdego elementu div i elementu nadrzędnego. Dla innych części projektu, które nie mają dzieci, używam następujący kod:Jak wybrać wszystkie elementy podrzędne z elementu javascript i zmienić właściwość 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>
mogę tylko dodać inny identyfikator dla każdego dziecka (ID1 , id2, id3, ...), ale jest 32 dzieci i nie tylko będę musiał dodać 32 identyfikatory, ale także 32 linie JavaScript. Musi istnieć lepszy sposób; w jakiś sposób wybierając dzieci, a nawet zmieniając rzeczywisty kod CSS, który wybiera dzieci.
Dzięki, Ian
Czy próbowałeś czystego rozwiązania CSS? Nie powinien w ogóle potrzebować żadnego JS. – Hamish
Chciałbym, ale muszę użyć menu rozwijanego, aby zmienić tło div, i będę w stanie to zrobić, ale byłoby to bardzo skomplikowane. – Ian