creature: getElementsByTagName bzw. getElementsByName liefert kein Array

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?

  1. Welchen Browser verwendest Du? Nutzt Du irgendwelche JS-Toolkits, welche die Funktion möglicherweise überschreiben?

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
  2. 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.

    --
    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
    Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
  3. [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

    --
    Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
    YouTube Video-Tipp: Acoustic Curves
    YouTube Video-Tipp: Pipe Dreams
    selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
    1. 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.