ParentNode.children

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 (constructeur &&
        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.

Voir aussi