問題:
在以下情況下如何通過特定屬性檢索元素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中文網其他相關文章!