ParentNode.childElementCount
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
js
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, unDocumentFragmentou unElement.
Exemple
js
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.
js
;(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 Standard # dom-parentnode-childelementcount |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- Les interfaces pures
ParentNodeetChildNode. - Types d'objets implémentant cette interface pure :
Document,ElementetDocumentFragment.