【PHP8.x】getRootNodeメソッドの使い方

getRootNodeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getRootNodeメソッドは、その要素が属するドキュメントのルートノード(通常はDocumentノード)を取得するメソッドです。Dom\HTMLElementクラスに属しており、このメソッドを使用することで、特定のHTML要素から、そのHTML文書全体の構造における頂点であるルートノードにアクセスできます。

具体的には、HTMLElementオブジェクトに対してgetRootNodeメソッドを呼び出すと、その要素が属するDocumentオブジェクト、またはShadowRootオブジェクトが返されます。ShadowRootは、Web Componentsのshadow DOMのルートノードを表します。getRootNodeメソッドを使用すると、shadow DOMを使用している場合でも、その要素が属する最も近いルートノードを確実に取得できます。

このメソッドは、特にWeb Componentsを使用している場合や、複雑なDOM構造を扱う場合に役立ちます。例えば、特定の要素がshadow DOM内に存在するかどうかを判断したり、DOMツリーを上方向に辿って特定の条件を満たす要素を探したりする場合に利用できます。getRootNodeメソッドを使うことで、DOM構造の複雑さを意識せずに、要素の属するドキュメントの最上位ノードに簡単にアクセスできます。

getRootNodeメソッドの返り値はNode型であり、DocumentオブジェクトまたはShadowRootオブジェクトのいずれかになります。返り値がnullになることはありません。

構文(syntax)

1Dom\HTMLElement::getRootNode(?array $options = null): Dom\Node

引数(parameters)

array $options = []

  • array $options = []: 取得するノードのモードを指定する連想配列。デフォルトは空配列で、DOM_ROOT_NODE_COALESCINGDOM_ROOT_NODE_SHADOW_MULTIPLEDOM_ROOT_NODE_SHADOW_CLONE のいずれかのオプションを指定できます。

戻り値(return)

Dom\Node

このメソッドは、要素が属するツリーのルートノードを表すDom\Nodeオブジェクトを返します。