--- title: ParentNode.childElementCount slug: Web/API/Element/childElementCount tags: - API - DOM - ParentNode - Property translation_of: Web/API/ParentNode/childElementCount original_slug: Web/API/ParentNode/childElementCount ---
{{ APIRef("DOM") }}

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

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

構文

var count = node.childElementCount;
count
unsigned long 型(つまり整数型)の戻り値.
node
{{domxref("Document")}}、{{domxref("DocumentFragment")}}、 {{domxref("Element")}}を表現するオブジェクト.

var foo = document.getElementById('foo');
if (foo.childElementCount > 0) {
  // Do something
}

IE8, IE9/Safari向けの互換コード

このプロパティは IE9 より前のバージョンでサポートされていません。IE9とSafariでは DocumentDocumentFragment においてサポートされていません。

;(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")}}

関連情報