Jquery Выберите элемент 2 позиции дальше - другой способ .next(). Next()
Я ищу способ, которым я мог бы выбрать элемент div, который не является прямым рядом с тем, который "выбран" функцией щелчка.
<div id="click">(siblings)</div><div>text</div><div id="get this one"></div>
Теперь я хотел бы выбрать один с идентификатором "получить этот" - в моем коде этот идентификатор недоступен. Все divs имеют один и тот же класс и имеют родные братья и сестры.
Я мог бы выбрать третий $(this).next().next()
, но я думаю, что это не лучший способ сделать это.
Также может быть div
до того, на который нажата кнопка, поэтому она не обязательно первая.
Я попробовал селектор :nth-child
, но не нашел решения.
Позже я также могу выбрать 13-й после щелчка (или 23-го, 65-го и так далее). Это означает, что я хотел бы иметь довольно динамичное решение этой проблемы.
Спасибо за вашу помощь,
Фил
Ответы
Ответ 1
Вы можете использовать .nextAll()
с .eq()
для вашего динамического подхода, например:
$(this).nextAll().eq(1) //0 based index, this would be .next().next()
Это позволит вам получить n
siblings forward, что, кажется, то, что вам нужно.
Ответ 2
Кажется, что $(this).parent().find('div').eq(2).attr('id')
должен работать.
UPDATE (добавлена find ('div'))