我希望像$(".author")
这样的选择器会选择一个元素,如果" author"是任何属性的值,而不仅仅是类。
E.g。 selector.text()
应该给#Emily Ekins"对于以下每个页面:
<a href="http://reason.com/people/emily-ekins" rel="author">Emily Ekins</a>
或
<bloop href="http://reason.com/people/emily-ekins" id="author">Emily Ekins</a>
或
<blah href="http://reason.com/people/emily-ekins" class="author">Emily Ekins</a>
或
<tag href="http://reason.com/people/emily-ekins" random="author">Emily Ekins</a>
有没有办法做到这一点?
答案 0 :(得分:14)
var elements = document.getElementsByTagName("*");
for(var i=0;i<elements.length;i++){
var element = elements[i];
var attr = element.attributes;
for(var j=0;j<attr.length;j++){
if(attr[j].nodeValue == 'author'){
element.style.backgroundColor='red';
}
}
}
呼!这需要一些时间。但是这将检查 任何给定元素的每个属性,如果任何属性为author
,它将更改背景颜色变红了。
答案 1 :(得分:5)
希望这有帮助
$("[id='author'],[class='author'],[name='author'],[data-random='author']").text()
答案 2 :(得分:2)
我会使用@Web Developer的答案,但会补充一点,如果您需要多次选择它们,那么将选择保存为var
会更有效:
var $target = $("[id='author'],[class='author'],[name='author']");
$target.text();
以下是有关属性选择器的一些文档:
http://api.jquery.com/category/selectors/
http://www.w3.org/TR/css3-selectors/#attribute-selectors
https://github.com/jquery/sizzle/wiki/Sizzle-Home(jQuery使用Sizzle)