getElementsByTagName bzw. getElementsByName liefert kein Array
creature
- javascript
0 LX0 Timo "God's Boss" Reitz0 Kai3450 creature
Lt. der Beschreibung auf Selfhtml liefern die Funktionen getElementsByName bzw. getElementsbyTagName ein Array zurück.
Das scheint aber nicht ganz zu stimmen. Beispielsweise folgneder Code:
Inputs = document.getElementsByTagName("input");
myArr = new Array(1,2,3);
alert(typeof(Inputs)); // liefert als Ausgabe: function
alert(typeof(myArr)); // liefert als Ausgabe: object
Inputs hat zwar die Eigentschaft "length", aber untertstützt nicht die Methoden push() oder shift()
Kann mir das wer erklären?
Welchen Browser verwendest Du? Nutzt Du irgendwelche JS-Toolkits, welche die Funktion möglicherweise überschreiben?
Gruß, LX
Lt. der Beschreibung auf Selfhtml liefern die Funktionen getElementsByName bzw. getElementsbyTagName ein Array zurück.
Steht da explizit Array? Beide Methoden liefern ein Objekt vom Typ NodeList zurück (im Firefox aus irgendeinem Grund HTMLCollection), welches einem Array lediglich ähnlich ist.
[latex]Mae govannen![/latex]
Lt. der Beschreibung auf Selfhtml liefern die Funktionen getElementsByName bzw. getElementsbyTagName ein Array zurück.
Ja. Nur leider wissen die Standards nichts von dieser Definition und die Browser halten sich dementsprechend auch nicht daran. Mit anderen Worten: SelfHTML liegt hier falsch, es wird kein Array zurückgeliefert, sondern eine HTMLCollection. Die kennt (natürlich) die Array-Methoden nicht.
Cü,
Kai
SelfHTML liegt hier falsch, es wird kein Array zurückgeliefert, sondern eine HTMLCollection. Die kennt (natürlich) die Array-Methoden nicht.
Vielleicht sollte das auf SelfHTML zumindest als Anmerkung dazugeschrieben werden damit man sich auskennt.