我有一个div列表,其中都包含p
标记为index
的标记。这些p
代码的文字内容是从1到 n 的数字(尽管可能不超过30-40)。我有以下选择器,它在初步测试中工作正常:
var ad = $('.existing_ad .index:contains('+index+')').parents('.existing_ad');
index
是我从p
标记中检索到的数字索引,而.existing_ad
是父div
的类。正如我所说,这很好......直到我的数字更高。例如,当索引 1 时,它会选择索引HAS <1> IN IT的.existing_ad
,例如, 1,10-19,21,31等
我怎样才能获得索引 n ?
答案 0 :(得分:53)
这个怎么样:
$('.existing_ad .index').filter(function() {
return $(this).text() == index;
}).parents('.existing_ad');
答案 1 :(得分:27)
如果你经常使用它,你可以创建一个扩展
$.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');