用于属性选择的 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中文网其他相关文章!