<p data-foo="bar">
您如何才能做到与
document.querySelectorAll('[data-foo]')
not available在哪里?querySelectorAll在哪里?
我需要一个本机解决方案,至少在IE7中工作。我不关心IE6。
发布于 2012-02-29 17:32:37
您可以编写一个运行数据(‘*’)的函数,并且只返回那些具有“getElementsByTagName-foo”属性的元素:
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)
{
// Element exists with attribute. Add to array.
matchingElements.push(allElements[i]);
}
}
return matchingElements;
}
然后,
getAllElementsWithAttribute('data-foo');
发布于 2014-12-09 16:52:17
使用
//find first element with "someAttr" attribute
document.querySelector('[someAttr]')
或
//find all elements with "someAttr" attribute
document.querySelectorAll('[someAttr]')
按属性查找元素。现在所有相关的浏览器(甚至是IE8)都支持它:http://caniuse.com/#search=queryselector
发布于 2017-05-17 20:41:52
试试这个,很管用。
document.querySelector('attribute="value"')
示例:
document.querySelector('[role="button"]')
https://stackoverflow.com/questions/9496427
复制相似问题