【PHP8.x】parentNodeプロパティの使い方
parentNodeプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
parentNodeプロパティは、DOMElementオブジェクトの親ノードを保持するプロパティです。具体的には、あるDOM要素(DOMElementオブジェクト)が、DOMツリー構造においてどのノードの子として存在するかを示す情報を保持します。parentNodeプロパティにアクセスすることで、その要素の親ノードにあたるDOMNodeオブジェクトを取得できます。
例えば、HTMLドキュメント内の <div> 要素を表すDOMElementオブジェクトがあるとします。この <div> 要素が <body> 要素の子である場合、その <div> 要素の parentNode プロパティは、<body> 要素に対応するDOMNodeオブジェクトを指します。
parentNodeプロパティは、DOMツリーを上方向に辿る際に非常に役立ちます。ある要素から、その親要素、さらにその親要素へと、DOMツリーを遡って必要な情報を取得したり、操作を行ったりすることが可能です。
parentNodeプロパティの値は、常にDOMNodeオブジェクト、または null のいずれかです。もし、その要素がDOMツリーのルートノード(例えば、Documentオブジェクト)である場合、parentNodeプロパティは null を返します。これは、ルートノードには親が存在しないためです。
DOMDocumentオブジェクト自体はparentNodeプロパティを持ちません。DOMDocumentはDOMツリーの頂点に位置するため、親ノードは存在しないからです。DOMElementオブジェクトがremoveChild()メソッドなどでDOMツリーから削除された場合でも、parentNodeプロパティは削除前に指していた親ノードを保持し続けます。これは、その要素がメモリ上に存在し続けている限り、元の親ノードの情報が維持されるためです。
構文(syntax)
1<?php 2$dom = new DOMDocument(); 3$element = $dom->createElement('child'); 4$root = $dom->appendChild($element); 5 6$parent = $element->parentNode; 7 8echo $parent === $dom ? '親ノードはDOMDocumentです' : '親ノードはDOMDocumentではありません'; 9?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
DOMNode|null
このプロパティは、この要素の親ノードを表すDOMNodeオブジェクト、または親ノードが存在しない場合はnullを返します。