【PHP8.x】parentNodeプロパティの使い方

parentNodeプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

parentNodeプロパティは、Dom\Nodeオブジェクトの親ノードを保持するプロパティです。具体的には、現在のノードの親にあたるDom\Nodeオブジェクトを返します。もし、現在のノードがドキュメントのルートノード(例えば、HTMLドキュメントにおける<html>要素)である場合や、ノードがまだどのノードにも追加されていない場合(つまり、親ノードが存在しない場合)、このプロパティはnullを返します。

このプロパティは読み取り専用であり、値を変更することはできません。ノードの親子関係を変更するには、他のDOM操作メソッド(例えば、appendChildinsertBeforeremoveChildなど)を使用する必要があります。

parentNodeプロパティは、DOMツリーを上方向にトラバースする際に非常に役立ちます。例えば、特定のノードから始めて、その祖先要素を辿っていくような処理を実装する際に利用できます。また、ノードが属するドキュメント構造を把握したり、特定のノードのコンテキストを分析したりする際にも重要な情報を提供します。

parentNodeプロパティを使用する際には、返り値がnullになる可能性があることに注意する必要があります。nullチェックを行わずにparentNodeプロパティにアクセスしようとすると、エラーが発生する可能性があります。したがって、parentNodeプロパティを使用する際には、事前にisset()関数やis_null()関数などで返り値がnullでないことを確認することが推奨されます。これにより、プログラムの安定性を高めることができます。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$dom->loadHTML('<div><p>Hello</p></div>');
5
6$paragraph = $dom->getElementsByTagName('p')->item(0);
7$parent = $paragraph->parentNode;
8
9echo $parent->tagName; // 出力: div
10
11?>

引数(parameters)

戻り値(return)

Dom\Node|null

このプロパティは、現在のDOMノードの親ノードを表すDom\Nodeオブジェクト、または親ノードが存在しない場合はnullを返します。