Выберите первый элемент класса «X» после ссылки с jQuery

StackOverflow https://stackoverflow.com/questions/2212438

Вопрос

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

<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, так что нет ничего хорошего.

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

Это было полезно?

Решение

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

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

Другие советы

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

$(".a").click(function() {
    $(this).addClass("something_special");
    $(".something_special + .b").css({backgroundColor: "red"});
    $(this).removeClass("something_special");
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top