Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Node.childNodes

Allgemein

childNodes gibt eine NodeList, welche alle Kindknoten (childNodes) eines bestimmten HTML-Elements enthält, zurück.

Syntax

var nodeList = referenzElement.childNodes; 

nodeList ist eine Liste, die alle Kindknoten eines bestimmten Elements der Reihenfolge nach enthält. Falls das Element keine Kindknoten enthält, gibt childNodes eine leere NodeList zurück.

Diese Eigenschaft kann nur ausgelesen werden (read-only).

Beispiel

Folgendes HTML-Dokument liegt vor:

<!DOCTYPE html>
<html>
  <body>
    <h3>Neue Mitarbeiter eingestellt</h3>
    <p>Dank der guten Konjunktur letzten Jahres [...]</p>
  </body>
</html>

Nun sollen die childNodes von <body> ausgelesen und in einer Liste namens nodeList gespeichert werden:

var bd = document.body;

// Zuerst werden wir überprüfen, ob das <body>-Element überhaupt Kindknoten hat.
if (bd.hasChildNodes()) {
   // Nun werden wir die Eigenschaft childNodes auslesen
   var nodeList = bd.childNodes;

   for(var i = 0; i < nodeList.length; i++) {
     // So wird nodeList durchlaufen und folgender Code wird an jedem Eintrag ausgeführt
     // In diesem Fall soll der Name ausgegeben werden
     alert(nodeList[i].nodeName);
   }
}


Diese Liste ist ständig aktuell. Jede Änderung am referenz-Element (hier <body>) bewirkt eine aktualisierung der Liste.
Wenn Sie also beispielsweise das erste Element in der Liste löschen, rückt automatisch das zweite Element an Stelle des Ersten.
Deshalb lassen sich z.B. auf diese Art alle Kindknoten eines Elements löschen:

while(bd.firstChild) {
    bd.removeChild(bd.firstChild);
}

Anmerkungen

Mit childNodes erhalten Sie eine Liste aller Kindknoten, einschließlich derer vom Typ CharacterData. Wenn Sie diese Datenknoten nicht im Index haben wollen, verwenden Sie statt childNodes die Eigenschaft Element.children.

Die Einträge in nodeList sind Objekte, keine Zeichenketten. Für diese Objekte gelten wiederum alle Methoden und Eigenschaften von Node. Um also Daten aus diesen Objekten auszulesen, müssen deren Eigenschaften ausgelesen werden. Um beispielsweise den Namen eines in nodeList aufgeführten Elements auszulesen, muss man die eigenschaft nodeName auslesen:

var name = nodeList[i].nodeName;

Das document Objekt hat zwei Kindknoten: Die Doctype-Deklaration und das root-Element, das eine Eigenschaft von Document ist.
Folgendermaßen kann darauf zugegriffen werden:

var root = document.documentElement;

In (X)HTML-Dokumenten stellt das HTML-Element das root-Element dar.

Siehe auch

Spezifikationen

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: fscholz, AshfaqHossain, wepunkt_empunkt
 Zuletzt aktualisiert von: AshfaqHossain,