Выберите первый элемент класса «x» после ссылки с помощью jQuery. - PullRequest
1 голос
/ 06 февраля 2010

У меня есть такой код:

<p>Lorem ipsum<a href=# class="a">link</a><span class="b">Text</span>More lorem ipsum<a href=# class="a">link</a><span class="b">Text 2</span>

И я хотел бы позволить пользователям щелкнуть link и иметь возможность что-то делать с пролетом (заставить его мигать, скрыть его, что угодно). Я использую jQuery, и это то, что у меня так далеко:

$('.a').click(function() {
    $(this).nextUntil('.a').css('background-color', 'red');
 });

Это работает до тех пор, пока я усердно отношусь к наличию ссылок перед интервалами и никакого другого кода в тексте. Тем не менее, я не доволен этим, и должен быть лучший способ. Я также попробовал:

$('.a').click(function() {
    $(this).next('.b').css('background-color', 'red');
 });

Но это выбирает все промежутки класса b, так что ничего хорошего.

Я новичок и в растерянности. Я ищу мудрости.

Ответы [ 2 ]

1 голос
/ 06 февраля 2010
$('a.a').click(function() {
    $(this).next('span.b').css('background-color', 'red');
 });

должно работать нормально для вас. Он получает сразу после родного брата.

0 голосов
/ 06 февраля 2010

Возможно, вы могли бы попробовать это?

$(".a").click(function() {
    $(this).addClass("something_special");
    $(".something_special + .b").css({backgroundColor: "red"});
    $(this).removeClass("something_special");
});
...