所以我觉得我的头衔几乎是模棱两可的,但事实是我甚至不确定如何澄清...因此问题。
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')
我实现了我的目标。我只是好奇为什么我的上面的选择器(如果它被正确调用它)不起作用。
提前致谢!
答案 0 :(得分:2)
你回答了自己的问题,你找不到任何与$(this).siblings('。stuff .foo')的东西,因为.foo不是$(这个)的兄弟,它有点像'孙子'使用那个选择器,它会找到.ff父母的.foo兄弟,而你有$(this),。。和.foo的兄弟,.stuff的孩子,而不是$(这个)的兄弟