getElementsByTagName().Länge gibt null zurück

Ich versuche zu tun, eine einfache Sache wie:

var elements = document.getElementsByTagName("input");
console.log(elements);
console.log(elements.length);

Die Konsole.log(Elemente) zeigt die Knotenliste mit 28 input-Elemente, sondern die Elemente.Länge ist immer 0.

Habe ich auch gesehen, diese getElementsByTagName("div").die Länge null für eine beliebige Webseite aber ich habe nicht verstanden was genau ist der Grund, warum es passiert und wie man es beheben. Ich habe auch bemerkt, daß dies geschieht sowohl Firefox, IE, Chrome.

Könnte jemand mir helfen?

Kann nicht ganz vergessen, sicher, aber versuchen tun Elemente.length() - Länge kann eine Funktion sein, kann nicht remembe.r
Sind Sie sicher, dass Sie anrufen, Ihr code, wenn das Dokument/DOM geladen ist? Es könnte sein, dass beim Aufruf getElementsByTagName, keine input-Elemente existieren, aber da Nodelisten sind dynamisch, wenn das Dokument geladen wird, die Elemente enthalten, die alle 28 Eingänge.
Es scheint, als würde das DOM geladen ist nicht. Kopieren Sie und fügen Sie diese in die URL Ihrer Seite, um zu sehen, was es ist, nachdem das DOM geladen. javascript:var elements=document.getElementsByTagName("input");alert("Element "+Elemente.Länge+" Kinder");
Du hast Recht, es ist, weil der DOM geladen ist nicht. Dank Rafael und adorablepuppy!

InformationsquelleAutor mobius | 2011-04-30

Schreibe einen Kommentar