如何在jquery中的div内的特定范围上获得选择器?

时间:2012-01-09 01:50:36

标签: jquery html

假设我有以下内容:

<input type="text">
<div id="listofstuff">
    <div class="anitem">
        <span class="item name">Dog</span>
        <span class="itemdescription">AboutItem1</span>
    </div> 
    <div class="anitem">
        <span class="item name">Doodle Bird</span>
        <span class="itemdescription">AboutItem2</span>
    </div>
    <div class="anitem">
       <span class="item name">Cat</span>
       <span class="itemdescription">AboutItem3</span>
    </div>
</div>

我想使用jQuery选择器来获取包含项目名称为“Cat”的<div>的{​​{1}}(.anitem)。

我认为它会像下面这样,但它不起作用。

<span>

我做错了什么?

4 个答案:

答案 0 :(得分:4)

您需要使用:has伪类来通过其后代获取元素:

$('#listofstuff .anitem:has(span:contains("Cat"))')

Here's a demo.

答案 1 :(得分:2)

$('.anitem').has('span:contains("Cat")')可能会让您更加紧密

答案 2 :(得分:1)

如果不是最快,那是最明智的。

$('#listofstuff span:contains("Cat")').parent();

demo

答案 3 :(得分:0)

$('#listofstuff').find('div.anitem:has(span:contains("Cat"))')