Knoten: childNodes-Eigenschaft
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die schreibgeschützte childNodes
-Eigenschaft des Node
-Interfaces gibt eine Live-[
NodeList](/de/docs/Web/API/NodeList)
der Kind-[
nodes](/de/docs/Web/API/Node)
des angegebenen Elements zurück, wobei dem ersten Kindknoten der Index 0
zugewiesen wird. Kindknoten umfassen Elemente, Text und Kommentare.
Hinweis:
Die Tatsache, dass [
NodeList](/de/docs/Web/API/NodeList)
live ist, bedeutet, dass sich ihr Inhalt ändert, wann immer neue Kinder hinzugefügt oder entfernt werden.
Browser fügen Dokumenten Textknoten hinzu, um Leerraum im Quell-Markup darzustellen. Daher kann ein Knoten, der zum Beispiel mit Node.childNodes[0]
erhalten wurde, sich auf einen Leerraum-Textknoten beziehen, anstatt auf das tatsächliche Element, das der Autor erhalten wollte.
Siehe Arbeiten mit Leerzeichen im DOM für weitere Informationen.
Die Elemente in der Sammlung von Knoten sind Objekte, keine Zeichenfolgen. Um Daten aus Knotenobjekten zu erhalten, verwenden Sie deren Eigenschaften. Zum Beispiel können Sie den Namen des ersten childNode
mit elementNodeReference.childNodes[0].nodeName
abrufen.
Das document
-Objekt selbst hat zwei Kinder: die Doctype-Deklaration und das Wurzelelement, das typischerweise als documentElement
bezeichnet wird. In HTML-Dokumenten ist letzteres das <html>
-Element.
Es ist wichtig zu beachten, dass childNodes
alle Kindknoten umfasst, einschließlich Nicht-Element-Knoten wie Text und Kommentar. Um eine Sammlung zu erhalten, die nur Elemente enthält, verwenden Sie stattdessen Element.children
.
Wert
Eine Live-[
NodeList](/de/docs/Web/API/NodeList)
mit den Kindern des Knotens.
Hinweis:
Mehrere Aufrufe von childNodes
geben dieselbe [
NodeList](/de/docs/Web/API/NodeList)
zurück.
Beispiele
>Einfache Verwendung
// Note that para is an object reference to a <p> element
// First check that the element has child nodes
if (para.hasChildNodes()) {
let children = para.childNodes;
for (const node of children) {
// Do something with each child as children[i]
// NOTE: List is live! Adding or removing children will change the list's `length`
}
}
Entfernen aller Kinder aus einem Knoten
// This is one way to remove all children from a node
// box is an object reference to an element
while (box.firstChild) {
// The list is LIVE so it will re-index each call
box.removeChild(box.firstChild);
}
Spezifikationen
Specification |
---|
DOM> # ref-for-dom-node-childnodes①> |
Browser-Kompatibilität
Loading…