The Essence of Programming

"Widzimisie" w Operze?

27 maja 2008

Może mi ktoś powiedzieć, dlaczego ten kod nie chce działać w Operze?? Jedyna informacja jaką udało mi się znaleźć na ten temat - aptana.com. Czyżby Opera nie wspierała document.getElementsByName oraz length??

Problem rozwiązany:
Przejrzałem W3C i znalazłem info:

The getElementsByName() method returns a collection of objects with the specified NAME.

Tak więc wnioskując z opisu, metodę tą można wykorzystać do wszystkich obiektów znajdujących się na stronie, również dla <div>. W swoich przykładach na developer.mozilla.org pokazano przykłady ustawiania parametru name dla znacznika <div>. A co na to Opera? Opera mówi nie! i nie wspiera pobierania za pomocą document.getElementsByName() znaczników innych niż <input>.

Tak więc trzeba sobie poradzić w inny sposób :-/

Można sobie poradzić z getElementsByName na Operze i IE stosując małą sztuczkę ;)

Komentarze:
Jony [26 kwietnia 2007 11:40:26]

A nie lepiej po prostu użyć document.getElementById(); ?

Błażej ’snipe’ Gruszka [29 kwietnia 2007 21:23:58]

Można by użyć document.getElementById(), ale każdemu elementowi należałoby nadać unikalne id i przemieszczać się po nich poprzez pętlę ;) Jak dla mnie nadal prostszym rozwiązaniem(nie biorąc pod uwagę Opery :P) jest document.getElementsByName();

3dcreator [17 czerwca 2007 19:46:49]

Poza tym Id chyba nie przechodzi walidacji na w3c, a name tak.

me [18 października 2007 20:53:48]

cos z tym kodem jest nie tak, mimo iz skladnia jest ok, bo nie wykonuje sie poprawnie w operze ani w ff

snipe [18 października 2007 20:58:11]

nie działa? nie możliwe :P jakieś błędy z konsoli w ff?

Kilka informacji o autorze

Programista, blogger, uwielbia białą czekoladę ;)