--- title: Node.childNodes slug: Web/API/Node/childNodes tags: - API - DOM - DOMリファレンス - プロパティ - リファレンス translation_of: Web/API/Node/childNodes ---
{{ ApiRef() }}
Node.childNodes
読み取り専用プロパティは、最初の子ノードにインデックス0が割り当てられている、指定された要素の子{{domxref("Node","nodes")}}の現在の{{domxref("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
にはテキストノードやコメントノードなどの非要素ノードを含むすべての子ノードが含まれます。要素のみのコレクションを取得するには、代わりに{{domxref("ParentNode.children")}} を使用してください。
仕様 | ステータス | コメント |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-node-childnodes', 'Node.childNodes')}} | {{Spec2('DOM WHATWG')}} | 変更なし |
{{SpecName('DOM3 Core', 'core.html#ID-1451460987', 'Node.childNodes')}} | {{Spec2('DOM3 Core')}} | 変更なし |
{{SpecName('DOM2 Core', 'core.html#ID-1451460987', 'Node.childNodes')}} | {{Spec2('DOM2 Core')}} | 変更なし |
{{SpecName('DOM1', 'level-one-core.html#ID-1451460987', 'Node.childNodes')}} | {{Spec2('DOM1')}} | 初回定義 |
{{Compat("api.Node.childNodes")}}