Domanda

Ho un po 'di codice in questo modo:

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

E mi piacerebbe lasciare che gli utenti fanno clic la link ed essere in grado di fare qualcosa con l'arco (renderlo flash, nasconderlo, a prescindere). Sto utilizzando jQuery, e questo è quello che ho finora:

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

Questo funziona finchè sto diligente di avere collegamenti prima delle campate, e nessun altro codice nel testo. Tuttavia, io non sono felice con lui, e ci deve essere un modo migliore. Ho anche provato:

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

Ma che seleziona tutte le campate di classe b, così non va bene.

Sono nuovo e in perdita. Io cerco la saggezza.

È stato utile?

Soluzione

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

dovrebbe funzionare bene per voi. Si ottiene immediatamente successivo fratello.

Altri suggerimenti

Forse si potrebbe provare questo?

$(".a").click(function() {
    $(this).addClass("something_special");
    $(".something_special + .b").css({backgroundColor: "red"});
    $(this).removeClass("something_special");
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top