问题:
在以下情况下如何通过特定属性检索元素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中文网其他相关文章!