Jquery Выберите элемент 2 позиции дальше - еще один способ .next (). Next () - PullRequest
13 голосов
/ 09 сентября 2010

Я ищу способ выбрать элемент div, который не является прямым рядом с тем, который «выбирается» функцией щелчка.

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

Теперь я хотел бывыберите один с идентификатором «получить это» - в моем коде этот идентификатор недоступен.Все дивы имеют одинаковый класс и имеют братьев и сестер.
Я мог бы выбрать третий с помощью $(this).next().next(), но я думаю, что это не лучший способ сделать это.
Также может быть div с дотот, на который нажимают - так что это не обязательно первый.

Я попробовал селектор :nth-child, но не нашел решения.
Позже я также могу выбрать 13-й после щелчка один (или 23-й, 65-й и т. Д.).Это означает, что я хотел бы иметь довольно динамичное решение этой проблемы.

Спасибо за помощь,
Фил

Ответы [ 2 ]

22 голосов
/ 09 сентября 2010

Вы можете использовать .nextAll() с .eq() для вашего динамического подхода, например:

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

Это позволит вам получить n братьев и сестер вперед, что кажется тем, что вы ищете.

0 голосов
/ 09 сентября 2010

Кажется, что $(this).parent().find('div').eq(2).attr('id') должно работать.

ОБНОВЛЕНИЕ (добавлен поиск ('div'))

...