基于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');