MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

ParentNode.childElementCount

読み取り専用の ParentNode.childElementCount プロパティは、与えられた要素の子要素の数を表す unsigned long 値を返します。

このプロパティは、当初 ElementTraversal 基本インターフェースで定義されていました。このインターフェースには 2 セットの異なるプロパティが含まれており、一つは子要素を持つ Node を対象とし、もう一つはその子要素群を対象としたものでしたが、これらは 2 つの基本インターフェースである ParentNodeChildNode に移されました。この際、childElementCountParentNode へ移されました。これは技術的な変更であり、互換性に影響を与えるものではありません。

構文

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 インターフェースを ChildNodeParentNode に分割。このメソッドは後者で定義されています。
DocumentDocumentFragment が新しいインターフェースを実装しました。
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
DocumentDocumentFragment でサポート 29.0 25.0 (25.0) 未サポート 16.0 未サポート
機能 Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (Element 上) (有) 1.0 (1.9.1) (有) (有) (有)
DocumentDocumentFragment でサポート (有) 25.0 (25.0) 未サポート 16.0 未サポート

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: Marsf
 最終更新者: Marsf,