Выберите первый элемент класса «X» после ссылки с jQuery
-
19-09-2019 - |
Вопрос
У меня есть какой -то код, как это:
<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");
});
Не связан с StackOverflow