基于EXACT文本内容select元素

我有一个div列表,都包含一个p标签分类为index 。 这些p标签的文本内容是从1到n的数字 (尽pipe可能不超过30-40)。 我有以下select器,在初步testing中工作正常:

 var ad = $('.existing_ad .index:contains('+index+')').parents('.existing_ad'); 

其中index是从p标记检索到的数字索引, .existing_ad是父div的类。 正如我所说,这工作得很好…直到我去更高的数字。 例如,当索引为1时 ,它select索引HAS A 1 IN IT的.existing_ad ,例如.existing_ad等。

我怎样才能得到唯一的索引n

这个怎么样:

 $('.existing_ad .index').filter(function() { return $(this).text() == index; }).parents('.existing_ad'); 

如果你使用它很多,你可以创build一个扩展

 $.expr[":"].containsExact = function (obj, index, meta, stack) { return (obj.textContent || obj.innerText || $(obj).text() || "") == meta[3]; }; 

$('div:containsExact('John')将匹配<div>John</div>但不是<div>Johnny</div>

对于原来的问题,这将是

 var ad = $(".existing_ad .index:containsExact('"+index+"')").parents('.existing_ad');