1. ホーム
  2. javascript

[解決済み] 属性値からDOM内の要素を検索する

2022-03-14 12:18:58

質問

与えられた属性名と属性値を持つ要素を検索するDOM APIがあるかどうか教えてください。

のようなものです。

doc.findElementByAttribute("myAttribute", "aValue");

解決方法は?

更新してください。 この数年で、状況は大きく変わりました。 現在では確実に querySelectorquerySelectorAll を参照してください。 Wojtekの回答 を実行する必要があります。

jQueryへの依存はもう必要ない。 jQueryを使っているならば、素晴らしいことですが、そうでないならば、もう属性で要素を選択するためだけに依存する必要はないでしょう。


バニラjavascriptでこれを行うための非常に短い方法はありませんが、いくつかのソリューションが利用可能です。

このように、要素をループして属性をチェックします。

のようなライブラリの場合 jQuery が選択肢にあれば、こんな風に、もう少し簡単にできます。

$("[myAttribute=value]")

値が有効な CSS識別子 (スペースや句読点があるなど) の場合は、値を引用符で囲む必要があります (一重でも二重でもかまいません)。

$("[myAttribute='my value']")

を行うこともできます。 start-with , ends-with , contains などなど... 属性セレクタにはいくつかのオプションがあります。 .