用於屬性選擇的querySelectorAll 的本機替代
問題:
如何模擬document.querySelectorAll('[data-foo]') 的功能在IE7 或更早版本中無法使用querySelectorAll()?
解決方案:
解決此相容性問題問題,您可以建立一個自訂函數getAllElementsWithAttribute,它使用本機getElementsByTagName() 方法執行必要的屬性選擇:
function getAllElementsWithAttribute(attribute) { var matchingElements = []; var allElements = document.getElementsByTagName('*'); for (var i = 0, n = allElements.length; i < n; i++) { if (allElements[i].getAttribute(attribute) !== null) { matchingElements.push(allElements[i]); } } return matchingElements; }
透過使用所需屬性來呼叫此函數(例如getAllElementsWithAttribute('data- foo')),可以取得具有指定屬性的元素陣列
以上是如何在 IE7 及更早版本中選擇具有特定屬性的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!