Nœud.children est une propriété en lecture seule que renvoie une HTMLCollection directe des éléments enfants du Nœud.

Syntaxe

var enfants = nœud.children;

enfants est une HTMLCollection, qui est la collection ordonnée des éléments DOM qui sont enfants du nœud . S'il n'y a pas d'éléments enfants, alors enfants ne contient aucun élément et a une length de 0.

Exemple

var machin = document.getElementById('machin');
for (var i = 0; i < machin.children.length; i++) {
    console.log(machin.children[i].tagName);
}

Polyfill

// Réécrit le prototype 'children' natif.
// Ajoute le support de Document & DocumentFragment pour IE9 & Safari.
// Renvoie un array au lieu d'une HTMLCollection.
;(function(constructeur) {
    if (constructeurr &&
        constructeur.prototype &&
        constructeur.prototype.children == null) {
        Object.defineProperty(constructeur.prototype, 'children', {
            get: function() {
                var i = 0, noeud, noeuds = this.childNodes, children = [];
                while (noeud = noeuds[i++]) {
                    if (noeud.nodeType === 1) {
                        children.push(noeud);
                    }
                }
                return children;
            }
        });
    }
})(window.Node || window.Element);

Spécification

Spécification Statut Commentaire
DOM
La définition de 'ParentNode.children' dans cette spécification.
Standard évolutif Définition initiale.

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support de base (sur Element) 1.0 3.5 (1.9.1) 9.0 [1] 10.0 4.0
Support sur Document et DocumentFragment 29.0 25.0 (25.0) Pas de support 16.0 Pas de support
Support sur SVGElement (Oui) (Oui) Pas de support ? Pas de support
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support de base (sur Element) (Oui) 1.0 (1.9.1) (Oui) (Oui) (Oui)
Support sur Document et DocumentFragment (Oui) 25.0 (25.0) Pas de support 16.0 Pas de support

[1] Internet Explorer 6, 7 and 8 le supportaient, mais incluaient de façon erronée les nœuds Comment.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : NemoNobobyPersonne, xavierartot
 Dernière mise à jour par : NemoNobobyPersonne,