首页  >  文章  >  web前端  >  如何在 IE7 及更早版本中选择具有特定属性的元素?

如何在 IE7 及更早版本中选择具有特定属性的元素?

Barbara Streisand
Barbara Streisand原创
2024-10-30 20:33:02842浏览

How to Select Elements with a Specific Attribute in IE7 and Earlier?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn