ホームページ  >  記事  >  ウェブフロントエンド  >  古いブラウザで属性によって要素を選択するにはどうすればよいですか?

古いブラウザで属性によって要素を選択するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-30 02:34:02993ブラウズ

How to Select Elements by Attribute in Older Browsers?

querySelectorAll を使用せずに属性によって要素を取得する方法

質問:

次の場合に、特定の属性によって要素を取得するにはどうすればよいですか? IE7 などの古いブラウザでは、querySelectorAll メソッドは利用できません?

ネイティブ ソリューション:

querySelectorAll がないブラウザでは、カスタム関数を実装して同様のことを実現できます。機能:

<code class="javascript">function getAllElementsWithAttribute(attribute) {
  const matchingElements = [];
  const allElements = document.getElementsByTagName('*');
  for (let i = 0; i < allElements.length; i++) {
    if (allElements[i].getAttribute(attribute) !== null) {
      // Element exists with attribute. Add to array.
      matchingElements.push(allElements[i]);
    }
  }
  return matchingElements;
}</code>

例:

「data-foo」属性を持つ要素を取得するには、次のコードを使用できます:

<code class="javascript">const elementsWithFooAttribute = getAllElementsWithAttribute('data-foo');</code>

以上が古いブラウザで属性によって要素を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。