【PHP8.x】previousSiblingプロパティの使い方
previousSiblingプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
previousSiblingプロパティは、Dom\HTMLElementクラスのインスタンスが持つ、現在のHTML要素の直前の兄弟ノードを保持するプロパティです。
このプロパティは、HTMLやXMLドキュメントの構造、いわゆるDOMツリー内において、現在の要素の直前に位置する兄弟ノードを取得するために使用されます。兄弟ノードとは、同じ親要素を持つノードのことを指します。例えば、<div><p>最初の段落</p><p>次の段落</p></div>というHTML構造において、2番目の<p>要素から見ると、1番目の<p>要素が直前の兄弟ノードに該当します。
previousSiblingプロパティは、要素ノードだけでなく、テキストノードやコメントノードといった、あらゆる種類のノードを兄弟ノードとして扱います。もし現在の要素の直前に兄弟ノードが存在しない場合は、このプロパティはnullを返します。取得される兄弟ノードは、Dom\Nodeクラスのインスタンスとして返されます。
このプロパティを利用することで、ドキュメントの構造を上方向や横方向に効率的に辿ることが可能になり、特定の要素の前後関係に基づいた操作や情報の取得に役立ちます。HTMLドキュメント内で要素間の相対的な位置関係を探索する際に重要な役割を果たします。
構文(syntax)
1<?php 2 3$document = new Dom\Document(); 4$document->loadHTML('<p>前の要素</p><span id="current">現在の要素</span><p>次の要素</p>'); 5 6$currentElement = $document->getElementById('current'); 7 8if ($currentElement instanceof Dom\HTMLElement) { 9 $previousSiblingNode = $currentElement->previousSibling; 10 11 if ($previousSiblingNode instanceof Dom\Node) { 12 echo $previousSiblingNode->nodeName . "\n"; 13 echo $previousSiblingNode->textContent . "\n"; 14 } 15} 16 17?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
Dom\Node|null
このプロパティは、現在のDOM要素の直前にある兄弟ノード、または兄弟ノードが存在しない場合はnullを返します。