【PHP8.x】childNodesプロパティの使い方
childNodesプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『childNodesプロパティは、特定のDOM要素(Dom\Elementオブジェクト)の直接の子であるすべてのノードのコレクションを、Dom\NodeListオブジェクトとして保持するプロパティです。このプロパティが返すノードリストには、子要素(Dom\Element)だけでなく、テキスト(Dom\Text)、コメント(Dom\Comment)、処理命令(Dom\ProcessingInstruction)など、あらゆる種類のノードが含まれます。特に注意すべき点として、HTMLやXMLソースコード内の要素間の空白や改行もテキストノードとして扱われ、このリストに含まれることがあります。childNodesが返すDom\NodeListは「ライブコレクション」であり、元の要素の子ノードがスクリプトによって追加または削除されると、このリストの内容も自動的に更新されます。したがって、DOM構造を動的に変更しながらノードを操作する場合でも、常に最新の状態を参照することができます。すべての子ノードを順番に処理したい場合に便利ですが、要素ノードのみを対象としたい場合は、childrenプロパティを使用する方がより簡潔なコードになります。
構文(syntax)
1<?php 2 3$html = '<div><p>Paragraph 1</p><p>Paragraph 2</p></div>'; 4 5$dom = new \Dom\Document(); 6$dom->loadHTML($html); 7 8// <div> 要素を取得 9$element = $dom->getElementsByTagName('div')[0]; 10 11// $element の子ノードのリスト (DOMNodeList) を取得 12$nodeList = $element->childNodes; 13 14// 子ノードの数を表示 15echo $nodeList->length; // 2 16 17?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
DOMNodeList
Dom\Element クラスの childNodes プロパティは、その要素の子ノードのコレクションである DOMNodeList を返します。このリストには、要素ノード、テキストノード、コメントノードなどが含まれます。