2017-04-07 189 views
0

我想找到一個jQuery選擇器,它可以獲取具有特定屬性值的每個元素 - 不一定是相同的屬性,只是屬性值相同。例如,什麼jQuery選擇器會拿起以下每個?jQuery - 選擇具有相同屬性值的多個元素

<h1 name="test"><h1> 
<a id="test"></a> 
<p data-attribute="test"></p> 

我能想到的所有嘗試是$("*").attr("*", "test")但這並不奏效。

回答

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>

+0

不幸的是,我有過,因爲它是由一個CMS創建的HTML無法控制。但這正是我正在尋找的 - 謝謝你! –

相關問題