Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Node: firstChild-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 firstChild-Eigenschaft der Node-Schnittstelle gibt das erste Kind des Knotens im Baum zurück oder null, wenn der Knoten keine Kinder hat.

Wenn der Knoten ein Document ist, gibt diese Eigenschaft den ersten Knoten in der Liste seiner direkten Kinder zurück.

Hinweis: Diese Eigenschaft gibt jeden Typ von Knoten zurück, der das erste Kind dieses Knotens ist. Es kann ein Text- oder ein Comment-Knoten sein. Wenn Sie das erste Element erhalten möchten, das ein Kind eines anderen Elements ist, sollten Sie Element.firstElementChild verwenden.

Wert

Ein Node oder null, wenn keiner vorhanden ist.

Beispiel

Dieses Beispiel demonstriert die Verwendung von firstChild und wie Whitespace-Knoten die Nutzung dieser Eigenschaft beeinträchtigen können.

html
<p id="para-01">
  <span>First span</span>
</p>
js
const p01 = document.getElementById("para-01");
console.log(p01.firstChild.nodeName);

Im obigen Beispiel zeigt die Konsole '#text' an, weil ein Textknoten eingefügt wird, um Leerraum zwischen dem Ende des öffnenden <p>- und des <span>-Tags beizubehalten. Jeder Leerraum erzeugt einen #text-Knoten, von einem einzelnen Leerzeichen bis zu mehreren Leerzeichen, Zeilenumbrüchen, Tabs und so weiter.

Ein weiterer #text-Knoten wird zwischen den schließenden </span>- und </p>-Tags eingefügt.

Wenn dieser Leerraum aus dem Quelltext entfernt wird, werden die #text-Knoten nicht eingefügt und das <span>-Element wird zum ersten Kind des Absatzes.

html
<p id="para-01"><span>First span</span></p>
js
const p01 = document.getElementById("para-01");
console.log(p01.firstChild.nodeName);

Jetzt zeigt die Konsole 'SPAN' an.

Um das Problem zu vermeiden, dass node.firstChild #text- oder #comment-Knoten zurückgibt, kann Element.firstElementChild verwendet werden, um nur den ersten Elementknoten zurückzugeben.

Spezifikationen

Specification
DOM
# ref-for-dom-node-firstchild①

Browser-Kompatibilität

Siehe auch