element.firstChild

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

La propriété en lecture seule Node.firstChild renvoie le premier nœud enfant de l'arbre ou null s'il n'en a pas. Si le noeud est un Document , il renvoie le premier noeud de la liste de ses enfants directs.

Syntaxe

js
var childNode = node.firstChild;

Exemple

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

html
<p id="para-01">
  <span>Premier span</span>
</p>

<script type="text/javascript">
  var p01 = document.getElementById("para-01");
  alert(p01.firstChild.nodeName);
</script>

Dans le code ci-dessus, la console affichera « #text » car un nœud texte a été inséré pour préserver les blancs entre la fin des balises ouvrantes <p> et <span>. Tout espace provoquera 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 n'apparaîtront plus et l'élément span deviendra le premier enfant du paragraphe.

html
<p id="para-01"><span>Premier span</span></p>

<script type="text/javascript">
  var p01 = document.getElementById("para-01");
  alert(p01.firstChild.nodeName);
</script>

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

Pour éviter le problème avec node.firstChild renvoyant des noeuds #text ou #comment, ParentNode.firstElementChild peut être utilisé pour renvoyer seulement le premier noeud élément. Toutefois, node.firstElementChild nécessite un "shim" pour Internet Explorer 9 et antérieurs.

Spécifications

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

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
firstChild

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support