所以我觉得我的标题几乎含糊不清,但事实是,我甚至不知道如何澄清...因此这个问题。兄弟姐妹/儿童/父母的JQuery选择器
的Html
<tr>
<div class="thisis(this)inmyexample"></div>
<div class="stuff">
<div class="foo"></div>
</div>
</tr>
我的问题是关于选择的差异。让我们假设.stuff
是$(this)
兄弟如果我用这个:
$(this).closest('tr').find('.stuff .foo')
现在,我知道这不是有效的编码,但它只是作为一个简单的例子。有了它,我会找到所有.foo
类别.stuff
的子女。
如果我用这个:
$(this).siblings('.stuff .foo')
我不会发现任何东西。这可能是我对jquery谈话的经验不足,但为什么不会有那种类型的选择器(你称之为使用空间的选择器或者同时使用这两个选择器的选择器,如'.stuff.foo'
?)可以使用.siblings之类的东西工作?我的期望是,它会找到.stuff
级别的所有兄弟姐妹,然后找到.stuff
的所有子级和.foo
级别的所有子级。这是不是工作,因为兄弟姐妹/孩子/父母正在寻找兄弟姐妹/父母/孩子,不会看过去?
我知道我可以用这个:
$(this).siblings('.stuff').children('.foo')
,我实现我的目标。我只是好奇,为什么我的上面的选择器(如果这是它正确调用)不起作用。
在此先感谢!
@PranavRam所以这是因为'.stuff foo'永远不会是任何事情的兄弟姐妹,对吧? – Aarmora
这是无效的HTML标记 –
@ A.Wolff我不觉得HTML是真正关键的问题,除了知道'.stuff'和'$(this)'是兄弟姐妹和'.foo'是孩子'.stuff'。我错了吗? – Aarmora