2011-01-12 56 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

相关问题