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.

¿Fue útil?

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
scroll top