changement de classe active pour un élément de liste
Je suis en train de changer le "actif" de la classe pour l'cliqué sur un élément de liste, mais il me manque quelque chose. Voici ce que mon code HTML et jquery ressembler à:
HTML
<ul class="additional-menu">
<li class="active"><a href="link1"> Link1</a></li>
<li><a href="javascript:void(0)" id="link2">Link2</a></li>
<li><a href="javascript:void(0)" id="link3">Link3</a></li>
</ul>
jQuery
$("#link2").click(function(){
if ($(this).find('#additional-menu li').hasClass('active')) {
//console.log("Active class seen");
$(this).find('#additional-menu li').removeClass('active');
$(this).addClass('active');
}
});
Aucune idée de ce que je suis absent? Je ne suis même pas détecter la classe active à ce point...
Vous exécutez le code dans le document.est-il prêt?
oui je suis
Je pense que vous devriez supprimer la classe="active" de l'élément li. Le reste de la première li sera toujours active. et puis utiliser jQuery pour définir la classe active sur l'événement click
oui je suis
Je pense que vous devriez supprimer la classe="active" de l'élément li. Le reste de la première li sera toujours active. et puis utiliser jQuery pour définir la classe active sur l'événement click
OriginalL'auteur Paul | 2013-10-27
Vous devez vous connecter pour publier un commentaire.
Vous pourriez réduire votre code juste
Démo à http://jsfiddle.net/DvHBp/
OriginalL'auteur Gabriele Petrioli
Il y a beaucoup de problèmes dans le code
essayer
Je vois maintenant...merci pour l'explication!
Dans ce cas, le premier élément de la liste sera toujours active. Comme cela a été fait active avec style en ligne. Il est donc préférable de l'enlever de style en ligne et l'ajouter avec jquery.
OriginalL'auteur Arun P Johny
find()
get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element
.Vous devez utiliser
$(this).parent().siblings('#additional-menu li')
parce que dans votre structure html
#link2
une balise n'a pas de descendant de#additional-menu li
OriginalL'auteur Cristian Bitoi
Vous pouvez faire quelque chose de très générique:
Et en utilisant ce code JavaScript:
OriginalL'auteur Praveen Kumar Purushothaman
D'essayer cette solution :
HTML:
CSS:
jQuery:
Démo
OriginalL'auteur Ashad Shanto