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

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

作成日: 更新日:

基本的な使い方

parentElementプロパティは、現在のDOMNodeオブジェクトの親要素を保持するプロパティです。PHPのDOM拡張機能において、HTMLやXML文書の構造は、ノードと呼ばれる個々の構成要素が集まって形成される「DOMツリー」として表現されます。このプロパティは、現在操作しているノードがどの要素(HTMLタグやXMLタグ)の中に含まれているか、つまりその直上の親にあたる要素を特定するために使用されます。

取得される親要素はDOMElementオブジェクトとして返されます。しかし、常に親要素が存在するわけではありません。もし、現在のノードに親ノードが全く存在しない場合(例えば、ドキュメント全体のルート要素自体を指している場合)、または親ノードが要素ではない場合(例えば、親がDOMDocumentオブジェクトである場合など)、このプロパティはnullを返します。

このプロパティを利用することで、特定のHTML要素やXML要素から、その親要素へ効率的にアクセスし、DOMツリーを上方向に探索する処理を簡潔に記述できます。例えば、あるボタン要素の親である<div>要素を取得したい場合に役立ちます。parentElementプロパティは読み取り専用であり、現在のノードの親要素を変更する目的では使用できません。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$dom->loadHTML('<div id="container"><span id="target">Content</span></div>');
4
5// DOMノードを取得
6$targetNode = $dom->getElementById('target');
7
8// parentElement プロパティを使用して親要素を取得
9$parentNode = $targetNode->parentElement;
10
11// 親要素が存在する場合、そのタグ名を表示
12if ($parentNode instanceof DOMElement) {
13    echo $parentNode->tagName; // 例: div
14} else {
15    echo "親要素は存在しないか、要素ではありません。";
16}
17?>

引数(parameters)

戻り値(return)

?DOMElement

このプロパティは、現在のノードの親要素をDOMElementオブジェクトとして返します。親要素が存在しない場合はnullを返します。