只有当jQuery包含在另一个类中时,它才会选择一个类

时间:2013-10-24 07:39:12

标签: jquery

例如...说我想要找到包含在'John'类的div中的类'A'的元素

<div class='Abe'>
    <input class='A'>
    <input class='A'>
</div>

<div class='John'>
    <input class='A'>
    <input class='A'>
</div>

我怎样才能在John div中选择两个A类对象?

3 个答案:

答案 0 :(得分:4)

简单地:

var elements = $('div.John .A');
//                |  |    || 
//                |  |    |^__ match elements with class A (the period is the class selector)
//                |  |    ^ __ the space is the descendant selector (the right side must be a descendant of the left side)
//                |  ^ _______ class selector for John
//                ^ __________ the matched elements with class John must be div type elements                    

选择器中的空格意味着它将匹配具有类A的任何元素,该类是具有类John的div元素的后代。

W3 docs for Descendant Selectors

答案 1 :(得分:2)

尝试SELECTOR喜欢

$('.John .A');

首先它将选择John分类div,然后选择类A的元素。

答案 2 :(得分:1)

嗯...

$('.John > .A');

或者如果您想要反过来

$('.A').filter(function(i, el){
    return $(el).closest('.John').length;
});