查找子项h2文本具有特定值的元素

时间:2013-05-09 16:42:02

标签: jquery jquery-selectors

我认为这很简单,但我似乎无法找到正确的选择器语法。我有这样的HTML:

<div class="parent">
    <h2>Summary</h2>
    <p>... bunch of content ...</p>
</div>
<div class="parent">
    <h2>Statistics</h2>
    <p>... bunch of content ...</p>
</div>
<div class="parent">
    <h2>Outcome</h2>
    <p>... bunch of content ...</p>
</div>

我想找到其h2子包含文本'Statistics'的div。

我尝试了各种组合:

$(".parent").find("h2[text='Statistics'").parent()

这不起作用,因为find返回一个空集。如果我这样做:

$(".parent").find("h2").text("Statistics").parent()

我找回了3个元素 - 所有这些元素似乎都是包含Statistics的div。我可以添加first(),但看起来有点粗糙。找到一个项目的正确语法是什么?

3 个答案:

答案 0 :(得分:21)

使用:

$(".parent").find("h2:contains('Statistics')").parent();

这使用:contains()选择器。

答案 1 :(得分:1)

$(".parent").find("h2:contains('Statistics')").each(function(){
    var div=$(this).parent();
   // use div as you want
})

工作 http://jsfiddle.net/SayjQ/

答案 2 :(得分:0)

有关使用HAS的信息

$(".parent:has(h2:contains('Statistics'))")