Autor | Zpráva | ||
---|---|---|---|
Suta Profil |
Pro přístup k pojmenovaným prvkům (prvkům s atributem name) můžu použít závorkové notace nebo metody namedItem(). Pokud prvky na stránce vyberu pomocí metody document.getElementsByTagName(), potom by na vráceném objektu typu HTMLCollection měla být dostupná metoda namedItem(). Bohužel tomu tak však není. Poradí mi někdo, kde hledat chybu?
images = document.images; myImage = images.namedItem("nameValue"); // => v pořádku images = document.getElementsByTagName("img"); myImage = images.namedItem("nameValue"); // => chyba |
||
Časová prodleva: 3 dny
|
|||
peta Profil |
#2 · Zasláno: 22. 2. 2011, 14:36:39
Jsi cetl kde? Zkousel jsi prohlizece ktere vsechny? Zkousel jsi to na doctype jakem vsem?
FF alert(document.getElementsByTagName); // vrati objekt typu HTMLCollection alert(document.images); // vrati objekt obecneho typu typeof() vraci na oboji objekt Naopak, povazoval bych za chybne chovani, kdyby objekt z funkce prevzal z rodice vsechny funkce jako to dela document.images. |
||
_es Profil |
#3 · Zasláno: 22. 2. 2011, 14:43:46
peta:
„alert(document.images); // vrati objekt obecneho typu“ Nevráti, je to tiež HTML kolekcia. |
||
Suta Profil |
#4 · Zasláno: 22. 2. 2011, 16:41:38 · Upravil/a: Suta
peta:
Skutečně nefunguje v Chrome (v režimu quirks ani standards). Můžeš vyzkoušet, příčinu stále neznám. Namátkou jsem zkusil IE a Firefox, tam vše funguje, jak má (díky za postrčení, nenapadlo mě, že co nefunguje v Chrome může jinde fungovat, moje blbost). <html> <body> <img name="mojeJmeno"> <script> images = document.images; myImage = images.namedItem("mojeJmeno"); // => bez chyby v Google Chrome images = document.getElementsByTagName("img"); myImage = images.namedItem("mojeJmeno"); // => chyba v Google Chrome (Uncaught TypeError: Object #<a NodeList> has no method 'namedItem') </script> </body> </html> |
||
Časová prodleva: 13 let
|
0