11550 sujets

JavaScript, DOM et API Web HTML5

Bonsoir, j'ai un menu tout simple qui fonctionne en JQuery de cette façon :
$('#nav li').hover(
function () {
$('ul', this).slideDown(100);
},
function () {
$('ul', this).slideUp(100);
Ca fonctionne bien mais je ne voudrais pas que ça interagisse sur mon sous menu qui possède également un (ul, li). Je voudrais que mon sous menu reste affiché et que le slideUp ne fonctionne pas pour la suite mais je ne trouve pas comment casser cet héritage. Si quelqu'un à une idée, merci d'avance.
Un grand merci à tous les deux. La solution de kustolovic fonctionne à la perfection. Ca ne s'invente pas. Ou faut il rechercher pour trouver soit même ce genre d'information ? J'avais eu beau fouiller à droite à gauche, jamais je n'ai vu cette solution. Merci encore à tous les deux.
Modifié par januti (09 Feb 2012 - 14:58)
Modérateur
Et bien les sélecteurs jQuery sont calqués sur ceux des css (sur lesquelles tu trouveras moultes informations), donc connaître bien les sélecteurs css aide beaucoup. Sinon les informations précises sont sur le site de jQuery (selectors). Bien documenté, avec des exemples.

pour le sélecteur ici utilisé, "#nav>li" signifie tous les li qui sont l'enfant direct de l'élément avec l'id 'nav'. Il ne prend donc pas en compte les li qui sont plus bas dans la hiérarchie.
Modifié par kustolovic (09 Feb 2012 - 17:42)