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 の定義
廃止された 初回定義

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
childNodesChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 5Opera 完全対応 7Safari 完全対応 1.2WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0

凡例

完全対応  
完全対応

関連情報