Selezionare il primo elemento di una classe 'x', dopo un collegamento con jQuery
-
19-09-2019 - |
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.
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