読み取り専用の ParentNode.childElementCount
プロパティは、与えられた要素の子要素の数を表す unsigned long
値を返します。
このプロパティは、当初 ElementTraversal
基本インターフェースで定義されていました。このインターフェースには 2 セットの異なるプロパティが含まれており、一つは子要素を持つ Node
を対象とし、もう一つはその子要素群を対象としたものでしたが、これらは 2 つの基本インターフェースである ParentNode
と ChildNode
に移されました。この際、childElementCount
は ParentNode
へ移されました。これは技術的な変更であり、互換性に影響を与えるものではありません。
構文
var elCount = elementNodeReference.childElementCount;
Internet Explorer 8 向けの互換コード
このプロパティは IE9 より前のバージョンでサポートされていません。以下のスニペットを使用して IE8 でのサポートを追加できます:
// Source: https://github.com/Alhadis/Snippets/blob/master/js/polyfills/IE8-child-elements.js if(!("childElementCount" in document.documentElement)){ Object.defineProperty(Element.prototype, "childElementCount", { get: function(){ for(var c = 0, nodes = this.children, n, i = 0, l = nodes.length; i < l; ++i) (n = nodes[i], 1 === n.nodeType) && ++c; return c; } }); }
仕様
仕様書 | 状況 | コメント |
---|---|---|
DOM ParentNode.childElementCount の定義 |
現行の標準 | ElementTraversal インターフェースを ChildNode と ParentNode に分割。このメソッドは後者で定義されています。Document と DocumentFragment が新しいインターフェースを実装しました。 |
Element Traversal Specification ElementTraversal.childElementCount の定義 |
勧告 | この初期定義は ElementTraversal 基本インターフェースに追加され、Element で使用します。 |
ブラウザの実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート (Element 上) |
1.0 | 3.5 (1.9.1) | 9.0 | 10.0 | 4.0 |
Document と DocumentFragment でサポート |
29.0 | 25.0 (25.0) | 未サポート | 16.0 | 未サポート |
機能 | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
基本サポート (Element 上) |
(有) | 1.0 (1.9.1) | (有) | (有) | (有) |
Document と DocumentFragment でサポート |
(有) | 25.0 (25.0) | 未サポート | 16.0 | 未サポート |
関連情報
- 基本インターフェースの
ParentNode
とChildNode
- この基本インターフェースを実装するオブジェクト型:
Document
,Element
,DocumentFragment