--- title: ParentNode.childElementCount slug: Web/API/ParentNode/childElementCount tags: - API - DOM - ParentNode - Property translation_of: Web/API/ParentNode/childElementCount ---
読み取り専用の ParentNode.childElementCount プロパティは、与えられた要素の子要素の数を表す unsigned long 値を返します。
このプロパティは、当初 {{domxref("ElementTraversal")}} 基本インターフェースで定義されていました。このインターフェースには 2 セットの異なるプロパティが含まれており、一つは子要素を持つ {{domxref("Node")}} を対象とし、もう一つはその子要素群を対象としたものでしたが、これらは 2 つの基本インターフェースである {{domxref("ParentNode")}} と {{domxref("ChildNode")}} に移されました。この際、childElementCount は {{domxref("ParentNode")}} へ移されました。これは技術的な変更であり、互換性に影響を与えるものではありません。
var count = node.childElementCount;
countunsigned long 型(つまり整数型)の戻り値.nodevar foo = document.getElementById('foo');
if (foo.childElementCount > 0) {
// Do something
}
このプロパティは IE9 より前のバージョンでサポートされていません。IE9とSafariでは Document と DocumentFragment においてサポートされていません。
;(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);
| 仕様書 | 状況 | コメント |
|---|---|---|
| {{SpecName('DOM WHATWG', '#dom-parentnode-childElementCount', 'ParentNode.childElementCount')}} | {{Spec2('DOM WHATWG')}} | ElementTraversal インターフェースを {{domxref("ChildNode")}} と ParentNode に分割。このメソッドは後者で定義されています。{{domxref("Document")}} と {{domxref("DocumentFragment")}} が新しいインターフェースを実装しました。 |
| {{SpecName('Element Traversal', '#attribute-childElementCount', 'ElementTraversal.childElementCount')}} | {{Spec2('Element Traversal')}} | この初期定義は ElementTraversal 基本インターフェースに追加され、{{domxref("Element")}} で使用します。 |
{{Compat("api.ParentNode.childElementCount")}}