ParentNode.childElementCount
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
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é.
Note :
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;
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écifications
| Specification |
|---|
| DOM> # dom-parentnode-childelementcount> |
Compatibilité des navigateurs
Chargement…
Voir aussi
- Les interfaces pures
ParentNodeetChildNode. - Types d'objets implémentant cette interface pure :
Document,ElementetDocumentFragment.