Jquery Select element 2 positions further - anothe

2019-02-12 03:52发布

问题:

I am searching for a way how I could select a div element which is not the direct next one to the one which is "selected" by a click function.

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

Now I would like to select the one with the id "get this one" - in my code this id is not available. All the divs have the same class and do have siblings.
I could select the third one by $(this).next().next() but I think it's not the best way to do it.
Also there can be divs before the one which is clicked - so it's not necessarily the first one.

I tried the :nth-child selector but didn't find a solution.
Later I also may want to select the 13th one after the click one (or the 23th, 65th and so on). This means I would like to have a rather dynamic solution to this problem.

Thanks for your help,
Phil

回答1:

You can use .nextAll() with .eq() for your dynamic approach, like this:

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

This would allow you to get n siblings forward, which seems to be what you're after.



回答2:

It seems that $(this).parent().find('div').eq(2).attr('id') should work.

UPDATE( Added find('div') )