Uwagi tak na szybko:
-
Dlaczego przy klasach i href stosujesz pojedyncze cudzysłowy? Standard HTML przewiduje używanie podwójnych ("") - dla id robisz to dobrze.
cecha1 = $('.cecha1');
...
alert(Sizzle(".cecha1")[0]);
Dwa razy wywołujesz Sizzle(’.cecha1’), bo przypisałeś $=Sizzle przecież. Użyj
alert(cecha1[0]);
i w dalszych wywołaniach tak samo (może nie poprawi błędu, jeśli gdzieś indziej jest, ale przyspieszy i skróci kod). 3. Poza tym masz błąd w funkcji cecha1Click() - powinno być cecha1 zamiast cecha_:_
function cecha1Click() {
for (var i = 0; i < cecha1.length; i++) {
cecha1[i].className = "";
}
4. Używaj w Firefoksie narzędzia Dla twórców witryn -> Konsola błędów (dostępnego z menu Narzędzia), wyczyść log i sprawdź po wczytaniu strony czy coś się nie pokazało (błąd, ostrzeżenie).
-
Strona jest “generowana” przez PHP, nie byłem pewny, jak się wstawia cudzysłowy w stringu, to dałem apostrof, zapomniałem, że muszą być cudzysłowy
-
Wiem, że raz jest $ a raz Sizzle, ale myślałem, że coś nie tak robiłem i spróbowałem i tak i tak.
-
Thx
Ale czy to coś pomogło w rzeczonej sprawie?
Już chyba wiem, gdzie masz błąd. Użycie _ window.onload _ jest niepoprawne. Przerób wiersz
window.onload = (function(){
na taki:
window.onload = function(){
oraz wiersz
})();
na
};
A błąd powstał zapewne przy przeróbce podobnego kodu dla jQuery (ale tam jest używana funkcja ready()), a polegał na tym, że do window.onload był przypisywany wynik działania napisanej funkcji (return false), a nie sama funkcja i kod tej funkcji wykonywał się zaraz po wczytaniu skryptu JS, kiedy jeszcze się nie wczytała i nie zbudowała treść dokumentu (i dlatego otrzymywałeś pustą tablicę).
Dzięki Działa!
– Dodane 30.07.2013 (Wt) 19:45 –
A można wrzucić dane z JSONa do tablicy asocjacyjnej, jak w PHP? czyli żeby pobierać dane np. json[“nazwa”]