détecte le lien au niveau 2 li et ajoute une étendue, plus ajoute la classe au parent parent au survol
Question
Je travaille sur un menu de liste non ordonnée à deux niveaux et, jusqu’à présent, j’ai été en mesure de prendre quelques mesures novices pour déterminer comment afficher et masquer le menu à l’aide de jQuery, ainsi que l’animer un peu.
J'ai deux problèmes à résoudre:
- Je veux que le parent li reste en vol stationnaire quand il est survolé pendant que la souris plane sur son enfant ul
- Je voudrais détecter si le parent parent a un ul et ajouter une étendue entre les balises a, ce qui donne:
<a href="#">Text <span style="addedStyle"> </span></a>
Voici le jQuery que j'utilise jusqu'à présent. la " .addClass (" active & ";) &"; ne semble pas faire grand chose:
$(".leftMenu li:has('ul')").hover(
function(){
$(this).addClass("active").children().animate({opacity: 'show'});
},
function(){
$(this).removeClass("active").children().hide();
}
);
//this line is wrong and non-functional
$(".leftMenu li:has('ul > a')").append('<span class="arrowdiv"> </span>');
Nous attendons!
La solution
Je l'ai compris. Apprendre quelque chose de nouveau chaque jour!
Je devais trouver le " un " et l'ajouter à cela. il s’agissait simplement d’ajouter à tout le li et je devais me concentrer sur le a, ce que j’ai bien évidemment fait de la sorte:
$(".leftMenu li:has('ul') > a").append('<span class="arrowdiv"> </span>')
.parent().hover(
function(){
$(this).addClass("active").children().animate({opacity: 'show'});
},
function(){
$(this).removeClass("active").children().hide();
}
);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow