Seleccione el primer elemento de una clase 'x' después de un enlace con jQuery
-
19-09-2019 - |
Pregunta
Tengo algún código como este:
<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>
Y me gustaría dejar que los usuarios hagan clic en el link
Y poder hacer algo con el tramo (haz que flash, esconderlo, lo que sea). Estoy usando jQuery, y esto es lo que tengo hasta ahora:
$('.a').click(function() {
$(this).nextUntil('.a').css('background-color', 'red');
});
Esto funciona mientras sea diligente sobre tener enlaces antes de los tramos, y ningún otro código en el texto. Sin embargo, no estoy contento con eso, y debe haber una mejor manera. También lo he intentado:
$('.a').click(function() {
$(this).next('.b').css('background-color', 'red');
});
Pero eso selecciona todos los tramos de clase b
, así que no es bueno.
Soy nuevo y estoy perdido. Busco sabiduría.
Solución
$('a.a').click(function() {
$(this).next('span.b').css('background-color', 'red');
});
debería funcionar bien para ti. Obtiene al hermano inmediatamente siguiente.
Otros consejos
¿Quizás podrías probar esto?
$(".a").click(function() {
$(this).addClass("something_special");
$(".something_special + .b").css({backgroundColor: "red"});
$(this).removeClass("something_special");
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow