【PHP8.x】toggleAttributeメソッドの使い方
toggleAttributeメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
toggleAttributeメソッドは、DOM要素の属性の存在を切り替えるメソッドです。具体的には、指定された名前の属性が存在しない場合は属性を追加し、存在する場合は属性を削除します。このメソッドは、Dom\HTMLElementクラスのインスタンスに対して呼び出すことができます。
このメソッドは、引数として属性の名前(文字列)を受け取ります。属性名には、HTML属性として有効な文字列を指定する必要があります。メソッドの実行後、属性の存在が切り替わった状態がDOMツリーに反映されます。
例えば、ある要素にdisabled属性が存在しない状態でtoggleAttribute('disabled')を実行すると、その要素にdisabled属性が追加されます。逆に、disabled属性が存在する状態でtoggleAttribute('disabled')を実行すると、その要素からdisabled属性が削除されます。
このメソッドは、JavaScriptなど他の言語でDOM操作を行う場合に見られる、属性の追加と削除を個別に処理するのではなく、一つのメソッドで切り替えられるため、コードの簡潔性を向上させることができます。また、条件分岐を用いて属性の有無を確認し、それに応じて追加または削除を行うといった冗長な処理を避けることができます。
このメソッドは戻り値を持たず、属性の切り替えの成否を直接的に確認する方法はありません。そのため、必要に応じてhasAttributeメソッドなどを用いて、属性の存在を確認する必要があります。属性の切り替えが期待通りに行われたかどうかを検証する際には、DOM Inspectorなどのツールを用いて、要素の属性を確認すると良いでしょう。
構文(syntax)
1public Dom\HTMLElement::toggleAttribute(string $name, bool $force = false): bool
引数(parameters)
string $qualifiedName, ?bool $force = null
- string $qualifiedName: 追加または削除する属性の名前を指定します。
- ?bool $force = null: true を指定すると、属性が既に存在する場合は属性が追加され、false を指定すると属性が既に存在する場合は属性が削除されます。null の場合は、属性が存在しなければ追加され、存在すれば削除されます。
戻り値(return)
bool
指定された属性が存在しない場合は追加し、存在する場合は削除します。この操作が成功した場合は true を返します。