我试图找到一个jQuery选择器,它获取具有特定属性值的每个元素 - 不一定是相同的属性,只是相同的属性值。例如,jQuery选择器会选择以下各项吗?
<h1 name="test"><h1>
<a id="test"></a>
<p data-attribute="test"></p>
我能想到的只是$("*").attr( "*", "test" )
,但这不起作用。
答案 0 :(得分:1)
这是一个非常奇怪的问题。它可以通过循环遍历每个dom属性的属性来完成,但我建议重新构建HTML,以便您可以使用[data-test=true]
,一个值为true的数据测试属性。
$("*").filter(function() {
flag = false;
$.each(this.attributes, function(i, attrib){
if (attrib.value == "test") {
flag = true;
}
});
return flag;
}).css("background","red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 name="test">a<h1>
<a id="test">b</a>
<p data-attribute="test">c</p>
<p>don't highlight</p>