Comment ajouter une classe à l'élément suivant de l'élément en cours tableau en jquery?
Je voudrais savoir comment faire une telle chose.
par exemple, j'ai quelque chose comme ceci:
<ul>
<li><a href="1.html">first item</a></li>
<li><a href="2.html">second item</a></li>
<li><a href="3.html">third item</a></li>
<li><a href="4.html">fourth item</a></li>
</ul>
J'ai besoin de addClass à un survol de l'élément, c'est facile, je fais comme ça:
$("li a").hover(
function () {
$(this).addClass("show");
},
function () {
$(this).removeClass("show");
}
);
Cependant, j'ai besoin de addClass à chaque élément li aussi.
Donc, par exemple lors du premier li un eleemnt est le curseur de la classe show2 sera ajouté à li un de la deuxième li un élément.
Comment faire?
Vous devez vous connecter pour publier un commentaire.
Essayer cette
Vous pouvez utiliser parent() avec next() et find() pour correspondre à la prochaine ancrage de l'élément.
À partir de là, vous pouvez utiliser ajouter() pour ajouter le planait élément à l'ensemble, et bascule les classes sur les deux éléments avec un seul appel:
EDIT: Le ci-dessus ne prennent pas l'autre
show2
nom de la classe compte. Pour la soutenir, vous pouvez faire quelque chose comme:Même si elle peut être écrite sur une seule ligne.
Pour des raisons de lisibilité, j'aime toujours utiliser plusieurs lignes.
Vous pouvez l'obtenir par le code suivant (voir cette jsfiddle comme une preuve). Il sera procédé à la liste des éléments et affecter différents événements pour chacun d'eux, en fonction de leur nombre au sein de l'ensemble des éléments:
EDIT:, je le vois, j'ai mal compris vous - ma solution permettra d'ajouter des
show
classe à chaque élément suivant, non seulement le premier d'entre eux.Vous pouvez utiliser du Jquery
next
fonction pour obtenir l'élément suivant.JsFiddle: jsfiddle.net/ra368sgj