Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: instrukcja dla wielu elementów na raz
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
1010
Witam
Mam taki problem.
Potrzebuję po kliknięciu w jeden div zmienić nazwę klasy dla 10 innych div-ów. Oto kod:
  1. onclick="getElementById('1').className='przycisk'; getElementById('2').className='przycisk'; getElementById('3').className='przycisk'; getElementById('4').className='przycisk'; getElementById('5').className='przycisk'; getElementById('6').className='przycisk'; getElementById('7').className='przycisk'; getElementById('8').className='przycisk'; getElementById('9').className='przycisk'; getElementById('10').className='przycisk';"

I wszystko w sumie działa... Tylko mam takie jedno małe pytanie...
Jak zapewne zauważyliście dla każdego z 10 elementów przypisywana jest ta sama nazwa klasy. Czy można zapisać to jakoś krócej, tak alby działanie było takie samo?

Z góry dziękuję za pomoc.

PS. JavaScript to nie jest moja mocna strona...
skowron-line
jezeli masz takie nazwy jak napisales czyli 1,2,3,4... to mozesz sobie przeciez w petli zmieniac,a jezeli masz jakies tam sobie nazwy np. item_1,item_2,item_3 to mozesz sobie wrzucic do tablicy i w petli odczytywac i zmieniac, a jezeli nazwy sa dowolne to moze
getElementsByTagName
Zajec
Nie wolno przypisywać ID ani klas rozpoczynających się od cyfry! Popraw np. na własnie jakieś item_n.
prond
Proponuje ci skorzystać jakiegoś frameworka JS, np prototype.js.
W przypadku tego akurat frameworka możesz odwoływać się do elementów wykorzystując selektory CSS.
Np.:
  1. <a onclick="$$('.jakas_klasa_css').each(function (el) {
  2. el.addClassName('przycisk');
  3. });">rob to</a>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.