La propriété children de ParentNode est une propriété en lecture seule qui renvoie une HTMLCollection directe contenant tous les enfants éléments du noeud sur lequel elle a été appelée.

Syntaxe

var children = node.children;

Valeur

Une HTMLCollection, qui est une collection directe et ordonnée des éléments DOM qui sont enfants du node (noeud). Vous pouvez accéder aux noeuds enfants individuellement en utilisant la méthode  item() (élément) sur la collection ou en utilisant la notation de type tableau (array) de JavaScript.

S'il n'y a pas d'éléments enfants, alors children est une liste vide et a une length (longueur) 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 tableau (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 : loella16, NemoNobobyPersonne, xavierartot
Dernière mise à jour par : loella16,