2011-01-12 29 views
8

有什麼辦法 - 任何jQuery選擇器(我沒有發現在http://api.jquery.com/category/selectors/),它可以用作精確匹配?jQuery選擇器 - 匹配內容的元素

:contains()幾乎是我所需要的,但不完全是。 「:包含」中的每個元素的搜索正則表達式是這樣的:

.*<query>.* 

這意味着,如果我需要找到鏈接,這看起來完全是這樣的:

<a href="#">Baxter</a> 

,並使用此:

$("a:contains('Baxter')") 

它也匹配這個,我不想匹配:

<a href="#">I'm Peter Baxter, how are you?</a> 

我知道,我可以把所有的元素和比較他們在循環中的內容,但我想確定,沒有更簡單的方法。

回答

12

沒有,但是這將是微不足道的添加爲插件:

$.expr[':'].contentIs = function(el, idx, meta) { 
    return $(el).text() === meta[3]; 
}; 

然後,您可以使用它作爲$('a:contentIs("Baxter")')

+0

那是一個非常好的,小的延伸。我想知道爲什麼這不是核心 – 2012-11-08 10:11:07

相關問題