我正在寻找一种方法,我可以选择一个div元素,它不是由点击函数“选择”的那个直接的下一个元素。
<div id="click">(siblings)</div><div>text</div><div id="get this one"></div>
现在我想选择ID为“get this one”的那个 - 在我的代码中,这个id不可用。所有的div都有同一个班级并且有兄弟姐妹
我可以通过$(this).next().next()
选择第三个,但我认为这不是最好的方法
在单击之前可以有div
个 - 所以它不一定是第一个。
我尝试了:nth-child
选择器但未找到解决方案
之后我也可能想在点击一个之后选择第13个(或者第23个,第65个等等)。这意味着我想对这个问题有一个相当动态的解决方案。
感谢您的帮助,
菲尔
答案 0 :(得分:22)
您可以将.nextAll()
与.eq()
一起用于动态方法,如下所示:
$(this).nextAll().eq(1) //0 based index, this would be .next().next()
这样可以让n
兄弟姐妹前进,似乎就是你所追求的。
答案 1 :(得分:0)
似乎$(this).parent().find('div').eq(2).attr('id')
应该有用。
更新(添加了find('div'))