ParentNode.childElementCount
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 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
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 Standard # dom-parentnode-childelementcount |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- Les interfaces pures
ParentNode
etChildNode
. - Types d'objets implémentant cette interface pure :
Document
,Element
etDocumentFragment
.