类选择器中的jQuery类

时间:2010-09-22 08:27:37

标签: jquery jquery-selectors

<div class="outer">
     <div class="inner"></div>
</div>

我如何在这里找到内部div?

$container.find('.outer .inner')

只是要找class="outer inner"的div,这是正确的吗?

所以我试过

$container.find('.outer > .inner')

但这似乎不起作用。

修改

我知道很容易找到像

这样的东西

$container.find('.outer').find('.inner')

但是我正在寻找那种读取效果更好的单选择器语法。

2 个答案:

答案 0 :(得分:73)

  

只是要找一个class =“outer inner”的div,这是正确的吗?

不,'.outer .inner'将使用 .inner 类查找所有元素,该类也包含 .outer 类作为祖先的元素。 '.outer.inner'(没有空格)会给你想到的结果。

对于带有 .inner 类的元素,

'.outer > .inner'将使用 .outer 类查找元素的直接子元素。

'.outer .inner''.outer > .inner'都适用于您的示例,尽管选择器根本不同,您应该对此保持警惕。

答案 1 :(得分:27)

对于这个html:

<div class="outer">
     <div class="inner"></div>
</div>

此选择器应该有效:

$('.outer > .inner')