Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: class='wartosc1 wartosc2' FUNKCJA TEGO NIE CZYTA
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
nowohucjanin
Witam
Mój problem jest następujący.
Jestem zmuszony do przypisania do jednego selektora kilku różnych klas. CSS czyta każdą z nich Jednak już JS nie. Postaram się przedstawić mój problem na jak najprostszym przykładzie.


W skrócie:
JS ma do każdego elementu spełniającego warunek className == "button" dodać funkcję .onclick uruchamiającą funkcję posrednik(). Jednak to nie działa.
Przypominam że mogę tylko operować na wartościach class a nie dodatkowo na id= czy name= !!!

Z góry dziękuje za pomoc !!




plik JS
CODE

var all = document.getElementsByTagName("*");

for (var i=0; i<all.length; i++) {
if(all[i].className == "button"){
all[i].onclick = posrednik;
}
}




plik CSS
CODE

.ah {
color: black;
}

.but {
color: red;
}


plik HTML
CODE

<input type="button" class='button but' value="test2" />
<a href="#" class='button ah' />test3</a>


drozdii07
Nie jestem pewien ale w css powinno chyba: .button but a nie samo but
Rid
Ten kod jest jak najbardziej nieprawidłowy:
var all = document.getElementsByTagName("*");Co to za tag*questionmark.gif?
Jak chce Pan wyciągnąć wszystkie elementy to niech Pan wyciągnie je z tagu form.

W nazwach id,name,class raczej nie powinno się używać spacji-zamiast class='button ah' użyć class='button_ah'
nowohucjanin
Do Rida
"Jestem zmuszony do przypisania do jednego selektora kilku różnych klas."
jakbym chciał zrobić jedną to bym sobie wyrazy połączył "_".


http://www.kurshtml.edu.pl/css/klasy_selek...,specjalne.html
akapit "Podzbiory klas"
Rid
Tutaj ma Pan funkcję która w Pana przypadku może być przydatna.
Doczytałem ,że var all = document.getElementsByTagName("*"); nie działa na wszystkich przeglądarkach:
lepiej użyć :
var allelements = document.all ? document.all : document.getElementsByTagName("*");
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.