Olaf Schneider: Elementreihenfolge von getElementsByTagName

Hallo,

ich erhalte von document.getElementsByTagName() oder von myParentElement.getElementsByTagName() eine Liste der passenden Nodes zurück. Was mich interessiert, ist deren Reihenfolge in der Ergebnisliste.

Naheliegend wäre, dass die Nodes in der Reihenfolge in der Liste vorliegen, in der sie beim Baum traversieren eingesammelt werden.

Beispiel:

+-o Anton
|
+-o Bernd

|
+-o Bärbel
|
+-o Birgit

|
+-o Biggi
|
+-o Brigitte

|
+-o Claudius

gibt auch Anton, Bernd, Bärbel, Birgit, Biggi, Brigitte, Claudius (natürlich unabhängig von der alphabetischen Reihenfolge) zurück.

IE6 und Firefox 2.0 scheinen nach ersten Tests so zu arbeiten. Die Frage ist, kann ich mich darauf verlassen, oder ist diese Eigenart nicht zugesichert?

Gruß
Olaf

  1. hi,

    ich erhalte von document.getElementsByTagName() oder von myParentElement.getElementsByTagName() eine Liste der passenden Nodes zurück. Was mich interessiert, ist deren Reihenfolge in der Ergebnisliste.

    Naheliegend wäre, dass die Nodes in der Reihenfolge in der Liste vorliegen, in der sie beim Baum traversieren eingesammelt werden.
    [...]
    IE6 und Firefox 2.0 scheinen nach ersten Tests so zu arbeiten. Die Frage ist, kann ich mich darauf verlassen, oder ist diese Eigenart nicht zugesichert?

    Document Object Model Core Level 2 Specification zu getElementsByTagName:
    Returns a NodeList of all the Elements with a given tag name in the order in which they are encountered in a preorder traversal of the Document tree.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga,

      vielen Dank. Das war genau die Info, die ich gesucht habe. Ich werde jetzt noch ein paar Browser (Opera, Safari) und Nichtbrowser (IE5.5) antesten und kann dann eine Implementierung auf diesem Fakt aufbauen.

      Gruß
      Olaf

      1. Hey Olaf, alter Schwede,
        ;)

        vielen Dank. Das war genau die Info, die ich gesucht habe. Ich werde jetzt noch ein paar Browser (Opera, Safari) und Nichtbrowser (IE5.5) antesten und kann dann eine Implementierung auf diesem Fakt aufbauen.

        jetzt laß doch mal den armen IE<7 in Ruhe! Er ist halt ein alter störrischer Greis, dessen Tage gezählt sind.

        Und um mal etwas Gutes über ihn zu sagen: ich finde sein box model intuitiver und praxisgerechter als das offizielle des W3C!

        Aber das nur am Rande, denn es ist hier OT.

        Hält schon wieder die Klappe:
        Mr. Horse

        --
        No, Sir, I don't like it.
        1. Hallo,

          ach ja - das Boxmodel ... - damit habe ich noch die geringsten Probleme, da es für die Browserunterschiede viele praxistaugliche und leichte Lösungen gibt.

          Probleme habe ich mit den vielen css-Bugs, dem Fehlen von min-width, max-width sowie verschiedener Selektoren, Memoryleaks bei Javascript, mangelnde DOM-Unterstützung, strangem Eventhandling etc. etc. etc.

          Gruß
          Olaf