Ответ 1
Чтобы подробнее остановиться на комментариях выше:
Вы не можете написать:
-
next("a")
, потому что next() пытается только подобрать самый следующий элемент. Он попадет в элемент<br>
и ничего не будет соответствовать. -
closest("a")
, потому что ближайший() подбирает цепочку предков, начиная с самого элемента, и поэтому пропустит<a>
.
Вы можете написать:
-
next().next()
, как предлагает Аренд. Это, вероятно, самое быстрое решение, но оно делает элементы<br>
обязательными. -
nextAll("a")
, но может возвращать несколько элементов (и будет делать это с помощью образца разметки). Первым() будет препятствовать цепочке но nextAll() все равно придется перебирать все последующие братья и сестры, что может замедлить работу в зависимости от сложности разметки внутри ваших элементов<div>
. -
nextUntil("a").last().next()
, который только итерации над соседними братьями и сестрами до тех пор, пока не найдет ссылку, затем вернет ближайший следующий брат последнего сопоставленного элемента. Это может быть быстрее, чемnextAll()
, опять же, в зависимости от вашей разметки.