Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Node : propriété firstChild

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La propriété en lecture seule firstChild de l'interface Node retourne le premier nœud enfant de l'arbre, ou null si le nœud n'a pas d'enfants.

Si le nœud est un objet Document, cette propriété retourne le premier nœud de la liste de ses enfants directs.

Note : Cette propriété retourne tout type de nœud qui est le premier enfant de celui-ci. Il peut s'agir d'un nœud Text ou Comment. Si vous souhaitez obtenir le premier élément (Element) qui est un enfant d'un autre élément, utilisez Element.firstElementChild.

Valeur

Un objet Node, ou null s'il n'y en a pas.

Exemples

Cet exemple montre l'utilisation de firstChild et la manière dont les nœuds d'espaces peuvent interférer en utilisant cette propriété.

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

Dans l'exemple ci-dessus, la console affiche « #text », car un nœud texte est inséré pour préserver les espaces entre la fin des balises ouvrantes <p> et <span>. Tout espace provoque l'insertion d'un nœud #text, qu'il s'agisse d'un simple espace ou de plusieurs, de retours à la ligne, tabulations, etc.

Un autre nœud #text est inséré entre les balises de fermeture </span> et </p>.

Si ces espaces sont retirés du code source, les nœuds #text ne sont pas insérés et l'élément span devient le premier enfant du paragraphe.

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

À présent, l'alerte affiche « SPAN ».

Pour éviter le problème avec node.firstChild renvoyant des nœuds #text ou #comment, Element.firstElementChild peut être utilisé pour renvoyer uniquement le premier nœud élément.

Spécifications

Spécification
DOM
# ref-for-dom-node-firstchild①

Compatibilité des navigateurs

Voir aussi