質問:
次の場合に、特定の属性によって要素を取得するにはどうすればよいですか? 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 サイトの他の関連記事を参照してください。