13

我正在寻找一种方法,我可以选择一个 div 元素,该元素不是单击功能“选择”的元素的直接下一个元素。

<div id="click">(siblings)</div><div>text</div><div id="get this one"></div>

现在我想选择 ID 为“get this one”的那个——在我的代码中这个 ID 不可用。所有的 div 都有相同的类并且有兄弟姐妹。
我可以选择第三个,$(this).next().next()但我认为这不是最好的方法。
在被点击的那个之前也可以有divs - 所以它不一定是第一个。

我尝试了:nth-child选择器,但没有找到解决方案。
稍后我可能还想在单击一个后选择第 13 个(或第 23 个、第 65 个等)。这意味着我希望有一个相当动态的解决方案来解决这个问题。

谢谢你的帮助,
菲尔

4

2 回答 2

22

您可以将.nextAll()with.eq()用于您的动态方法,如下所示:

$(this).nextAll().eq(1) //0 based index, this would be .next().next()

这将使您能够让n兄弟姐妹前进,这似乎就是您所追求的。

于 2010-09-09T12:03:00.643 回答
0

看来这$(this).parent().find('div').eq(2).attr('id')应该有效。

更新(添加 find('div') )

于 2010-09-09T12:02:27.747 回答