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

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

作成日: 更新日:

基本的な使い方

『isConnectedプロパティは、その要素がドキュメントツリーに接続されているかどうかを示す真偽値(bool)を保持するプロパティです。DOM(Document Object Model)において、HTMLやXML文書は、各要素が親子関係を持つ木のような階層構造(ドキュメントツリー)で表現されます。このプロパティの値がtrueの場合、その要素がドキュメントツリーの一部として組み込まれていることを意味します。一方で値がfalseの場合は、その要素がツリーから切り離されているか、まだ一度も追加されていない独立した状態であることを示します。例えば、createElementメソッドで新しく作成されただけの要素は、まだドキュメント内のどこにも配置されていないためisConnectedfalseを返します。その後、appendChildメソッドなどを用いてドキュメントに追加されると、このプロパティはtrueに変わります。逆に、removeChildメソッドでドキュメントから削除された要素は、再びfalseとなります。このプロパティは読み取り専用であり、ある要素が文書内に存在するかどうかを安全に確認する目的で使用されます。』

構文(syntax)

1<?php
2
3$document = new DOM\Document();
4$document->loadHTML('<!DOCTYPE html><html><body><p id="p1">Hello</p></body></html>');
5
6// ドキュメントから要素を取得する
7$element_in_doc = $document->getElementById('p1');
8
9// 新しい要素を作成する(まだドキュメントには追加されていない)
10$new_element = $document->createElement('span');
11
12// isConnected プロパティで、要素がドキュメントツリーに接続されているかを確認する
13// 接続されている場合: true
14var_dump($element_in_doc->isConnected);
15
16// 接続されていない場合: false
17var_dump($new_element->isConnected);
18
19?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

Dom\Element::isConnected は、要素が DOM ツリーに接続されているかどうかを示す真偽値 (bool) を返します。true であれば接続されており、false であれば接続されていません。

【PHP8.x】isConnectedプロパティの使い方 | いっしー@Webエンジニア