Sélectionnez le premier élément d'une classe 'X' après un lien avec jQuery
-
19-09-2019 - |
Question
J'ai du code comme ceci:
<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>
Et j'aimerais laisser les utilisateurs cliquer sur link
et pouvoir faire quelque chose avec la travée (faites-le flasher, cachez-le, peu importe). J'utilise jQuery, et c'est ce que j'ai jusqu'à présent:
$('.a').click(function() {
$(this).nextUntil('.a').css('background-color', 'red');
});
Cela fonctionne tant que je suis diligent pour avoir des liens avant les travées, et aucun autre code dans le texte. Cependant, je n'en suis pas satisfait, et il doit y avoir une meilleure façon. J'ai aussi essayé:
$('.a').click(function() {
$(this).next('.b').css('background-color', 'red');
});
Mais cela sélectionne toutes les travées de classe b
, donc pas bon.
Je suis nouveau et à perte. Je cherche la sagesse.
La solution
$('a.a').click(function() {
$(this).next('span.b').css('background-color', 'red');
});
devrait fonctionner bien pour vous. Il obtient le frère immédiatement suivant.
Autres conseils
Peut-être pourriez-vous essayer ça?
$(".a").click(function() {
$(this).addClass("something_special");
$(".something_special + .b").css({backgroundColor: "red"});
$(this).removeClass("something_special");
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow