Tach!
Hättest du Zeit und Lust etwas zum Thema node list irgendwo hier
eine eigene Unterseite (oder ein Kapitel im noch zu schreibenden Grundlagenartikel) zu erstellen? Das mit dem Fragezeichen ist, glaub ich unsere schwächste Stelle im Wiki.
Ich muss sagen, dass ich an der Stelle kein Experte bin, wobei ich andererseits auch vermute, dass ich auf dem Feld einer der Einäugigen unter den Blinden bin. Uns fehlt einfach einer vom Schlage molily. Was das Thema anbelangt, bin ich nur Anwender. Ich weiß, wie ich mich durch das DOM bewegen kann und in welcher Dokumentation ich Details zu Methoden und Eigenschaften finde. Dass so etwas wie eine NodeList und HTMLCollection existiert, weiß ich nur, weil ich damit mal auf die Nase gefallen bin, als ich darüber forEach()en wollte.
Wie dem auch sei, so habe ich doch versucht, in verlinkter Seite ein paar Formulierungen zu verbessern. (Beispielsweise sind Attribute kein Nachfahre von Node (mehr). Attribute passen nicht in das eigentliche Knotengefüge des Baums und das hat man mittlerweile korrigiert.) Dabei ist mir aufgefallen, dass meiner Ansicht nach das Thema generell ziemlich verkehrt erläutert wird, und ich hab das erstmal gelassen, um zunächst hier Rückfrage zu halten. Da ist von einem node-Objekt die Rede, welches nach meinem Dafürhalten aber nicht existiert. Stattdessen handelt es sich eigentlich um Node (mit großem N) und das ist "nur" ein Interface. Dieses bildet die Grundlage für ein paar spezialisierte Interfaces (Document, Element, CharacterData (mit Text und Comment als Nachfahren) und weitere). Am Ende der Nahrungskette stehen dann irgendwelche konkreten HTML-Elemente (div, body, p, span und wie sie nicht alle heißen), und die haben alle das Node-Interface und gegebenenfalls weitere spezialisierte Interfaces implementiert (sowie weitere elementspezifische Dinge hinzugefügt bekommen). Das mag jetzt eigenartig klingen, weil JavaScript das Konzept Interface nicht kennt, doch es ist durchaus nicht falsch, es auf diese Weise zu erläutern. Die Spezifikation tut dies, das MDN auch und es ist intern vermutlich auch so implementiert, bevor am Ende der JavaScript-Wrapper drübergestülpt wurde.
Es kann aber auch gut sein, dass ich mich grad kolossal irre und das node-Objekt doch existiert oder mit der JavaScript-Brille geschaut doch als Objekt erklärt werden kann, oder auch was ganz anderes in meiner Betrachtungen falsch ist. Ich bitte freundlich darum, mich in dem Fall zu korrigieren, oder mich auch zu bestätigen.
dedlfix.