La propriété ParentNode.childElementCount en lecture seule renvoie un unsigned long (long non signé) représentant le nombre d'élèments fils de l'élément donné.

Cette propriété a été définie dans la pure interface ElementTraversal.
Comme cette interface contenait deux différents jeux de propriétés, l'un visant les  Node (noeuds) qui ont des enfants, l'autre les enfants, ils ont été déplacés dans deux interfaces pures, ParentNode et ChildNode. Dans ce cas, childElementCount a été rattaché à ParentNode. C'est un changement assez technique qui ne devrait pas affecter la compatibilité.

Syntaxe

var count = node.childElementCount; 
count
détient la valeur de retour, un type unsigned long (long non signé) (simplement un nombre entier)
node
est un objet représentant un Document, un DocumentFragment ou un Element.

Exemple

var foo = document.getElementById("foo"); 
if (foo.childElementCount > 0) { 
    // faire quelque chose
}

Polyfill pour IE8 & IE9 & Safari

Cette propriété n'est pas supportée par les versions antérieures à IE9 ni par IE9 ni par Safari. Ainsi, les objets Document, DocumentFragment dans ces navigateurs ne l'ont pas.

;(function(constructor) {
    if (constructor &&
        constructor.prototype &&
        constructor.prototype.childElementCount == null) {
        Object.defineProperty(constructor.prototype, 'childElementCount', {
            get: function() {
                var i = 0, count = 0, node, nodes = this.childNodes;
                while (node = nodes[i++]) {
                    if (node.nodeType === 1) count++;
                }
                return count;
            }
        });
    }
})(window.Node || window.Element);

Spécification

Spécification Statut Commentaire
DOM
La définition de 'ParentNode.childElementCount' dans cette spécification.
Standard évolutif Divise l'interface ElementTraversal en ChildNode et ParentNode. La propriété est maintenant définie sur cette dernière.
Les Document et DocumentFragment implémentent la nouvelle interface.
Element Traversal Specification
La définition de 'ElementTraversal.childElementCount' dans cette spécification.
Obsolete Ajout de sa définition initiale à la pure interface ElementTraversal et de son utilisation sur Element.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
childElementCountChrome Support complet 1Edge Support complet OuiFirefox Support complet 3.5IE Support complet 9Opera Support complet 10Safari Support complet 4WebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Oui
Support on Document and DocumentFragment
Expérimentale
Chrome Support complet 29Edge ? Firefox Support complet 25IE Aucun support NonOpera Support complet 16Safari Aucun support NonWebView Android Support complet OuiChrome Android Support complet OuiFirefox Android ? Opera Android ? Safari iOS Aucun support NonSamsung Internet Android Support complet Oui

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : mdnwebdocs-bot, abvll, loella16, xavierartot, vava
Dernière mise à jour par : mdnwebdocs-bot,