Node.childNodes

Node.childNodes読み取り専用プロパティは、最初の子ノードにインデックス0が割り当てられている、指定された要素の子nodesの現在のNodeListを返します。

構文

let nodeList = elementNodeReference.childNodes;

簡単な使用方法

// 変数pargは<p>要素へのオブジェクト参照です

// まず、pargが子ノードを持っているかをチェックします
if (parg.hasChildNodes()) {
  var children = parg.childNodes;

  for (let i = 0; i < children.length; i++) {
    // for文を使って各ノードにchildren[i]としてアクセスします
    // 注意! NodeListは不変ではないので、ノードを追加したり削除したりするとchildren.lengthは変化します
  }
}

ノードから全ての子を削除する

// これは一例ですが、この方法でノードからすべての子ノードを削除することができます
// let box = document.getElementById(/**/);

while (box.firstChild) {
    // NodeListは不変ではないので、毎処理ごとにbox.firstChildは変化します
    box.removeChild(box.firstChild);
}

注記

ノードのコレクション内の項目はオブジェクトであり、文字列ではありません。node オブジェクトからデータを取得するには、そのプロパティ (たとえばelementNodeReference.childNodes[1].nodeName で名前を取得) を使用します。

documentオブジェクト自体には Doctype 宣言と root 要素 の2つの子があり、通常はdocumentElementと呼ばれます。 ((X)HTML文書ではこれがHTML要素です)

childNodesにはテキストノードやコメントノードなどの非要素ノードを含むすべての子ノードが含まれます。要素のみのコレクションを取得するには、代わりにParentNode.children を使用してください。

仕様

仕様 ステータス コメント
DOM
Node.childNodes の定義
現行の標準 変更なし
Document Object Model (DOM) Level 3 Core Specification
Node.childNodes の定義
廃止 変更なし
Document Object Model (DOM) Level 2 Core Specification
Node.childNodes の定義
廃止 変更なし
Document Object Model (DOM) Level 1 Specification
Node.childNodes の定義
廃止 初回定義

ブラウザの互換性

BCD tables only load in the browser

関連情報