в jquery сопоставьте первый следующий элемент - PullRequest
3 голосов
/ 18 февраля 2009

У меня есть тег href, а рядом с ним тег . Я хочу поместить новый текст между жирным шрифтом.

<a href=""></a> <b>old text</b>

Так в моем обработчике кликов, как я могу получить ссылку на текст между полужирным тегом?

Я знаю, что есть $ (this + b), но как мне убедиться, что он получает только первый, а не ВСЕ следующие элементы (как в примере jquery).

Ответы [ 4 ]

23 голосов
/ 30 апреля 2010

Несмотря на то, что ответ Магнара был помечен как принятый, он фактически не отвечает на первоначальный вопрос (обязательно). Это проблема при поиске этого вопроса из поиска. Возможно вопрос должен быть перефразирован. В любом случае, я хочу сказать, что это не удастся, если между «а» и «б» будет другой элемент. Чтобы действительно соответствовал элементу 'first, next', используйте:

$('a').nextAll('b:first')

Обратите внимание, что ответ Тима Бюте также неверен (он может соответствовать предыдущему брату).

8 голосов
/ 18 февраля 2009

Получить b-тег с:

$(this).next();

Получить текст внутри b-тега с помощью:

$(this).next().text();

И установите текст внутри b-тега с помощью:

$(this).next().text("Something new");
5 голосов
/ 18 февраля 2009

Вы также можете сделать:

$(this).siblings(":first").text("Something new");
2 голосов
/ 18 февраля 2009

Просто добавьте, сохраните все это в своем наборе инструментов, все они очень удобны при обходе, и все они могут принимать селекторы (#myid, .myclass и т. Д.) И фильтры (: visible,: first,: odd и т. Д.) )

.parent()
.sibling()
.children()
.next()
.prev()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...