首頁 >web前端 >js教程 >如何在舊版瀏覽器中按屬性選擇元素?

如何在舊版瀏覽器中按屬性選擇元素?

DDD
DDD原創
2024-10-30 02:34:021079瀏覽

How to Select Elements by Attribute in Older Browsers?

如何在不使用querySelectorAll 的情況下按屬性檢索元素

問題:

在以下情況下如何通過特定屬性檢索元素querySelectorAll 方法不可用,例如在IE7 等較舊的瀏覽器中?

原生解決方案:

在缺少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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn