J'utilise jQuery pour un menu de navigation verticale du site, tous les liens du site. J'ai la fonctionnalité de base de travail, mais je suis à une perte quant à l'if-else correct pour accomplir ce qui suit:jquery logique conditionnelle pour la page en cours
Comme le code est, les éléments de sous-menu sont toujours cachés initialement, mais je veux qu'ils commencent si le li ou l'un de ses fils lis est assigné à la page courante de la classe. Le code tel qu'il est est:
(function(){
$('li:has(ul)')
.click(function(event){
if (this == event.target || $(event.target).parent()[0] == this) {
if ($(this).children('ul').is(':hidden')) {
$(this)
.css('list-style-image','url(minus.gif)')
.children('ul').slideDown();
}
else {
$(this)
.css('list-style-image','url(plus.gif)')
.children('ul').slideUp();
}
}
})
.css({
cursor:'pointer',
'list-style-image':'url(plus.gif)'
})
.children('ul').hide();
$('li:not(:has(ul))').css({
cursor: 'default',
'list-style-image':'none'
});
});
Espérons que quelqu'un peut me mettre sur la bonne voie.
Bob McLeod
pourquoi ne pas faire la Css() et .children ('ul') sur $ ('de currentpage.') Se place du each()? –
Chaque fois que je travaille avec un cours, je suppose qu'il pourrait y en avoir plus d'un à un moment donné dans le futur. Si c'était #currentpage, je n'utiliserais pas le .each(). –
Oh, eh bien alors. Je pensais qu'il renvoyait une liste. –