Jquery

Résolu
Trema -  
 Trema -
Bonjour tout le monde,

Je débute en jquery et j'ai (déjà) des problèmes:

Je tente de bâtir un menu déroulant. Les items (li) du menu au premier niveau (ul) sont de la classe "mainItem" et les sous menu (ul aussi) sont des class="subMenu".

Mon JS:
$(function(){  

 $('.subMenu').hide(); 

 $('.mainItem').mouseover(  
 function(){  
  $(this).find('.subMenu').show();  
 });  
});


Rien ne se passe lors du survol, mais un alert() placé dans la fonction appelée par l'écouteur fonctionne sans problème... J'en déduis des problème au niveau de ma sélection, mais impossible de trouver une réponse dans les divers tutos jquery sur la toile ou même sur la doc de l'api... Qu'est-ce que j'ai raté ?!

Merci d'avance pour votre soutien

5 réponses

  1. hervé56 Messages postés 296 Statut Membre 10
     
    hover pas mouseover
    0
  2. kdo
     
    Bonjour, je ne comprend pas pourquoi, tu a préferer find(), à next().

    essaye n peu comme ça. Moi j'ai fait un truc de c genre mais j'ai travaillé avec les ul et li. sans leurs classes
    $(function(){

    $('.subMenu').hide();

    $('.mainItem').mouseover(
    function(){
    $(this).next('.subMenu').show();
    });
    });
    0
  3. vincebzh Messages postés 144 Statut Contributeur 29
     
    Salut.
    Next() est a utiliser si ".subMenu" est après ".mainItem"

    <span class="mainItem"></span>
    <span class="subMenu"></span>


    Find() si il est à l'intérieur
    <span class="mainItem">
    <span class="subMenu"></span>
    </span>
    


    Mais je ne pense pas que le problème vienne de la.

    Supprime le ";" à la fin de la fonction.

    $('.mainItem').mouseover(
    function(){
    $(this).next('.subMenu').show();
    })
    });
    


    Utilises Firebug pour afficher les erreurs javascript.
    0
  4. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    Faut quand même savoir qu'il est débutant.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Trema
     
    Merci pour vos réponses, next() a fonctionné, merci Kdo.
    Cependant, je ne comprends pas pourquoi ça n'a pas été le cas avec find();... j'essaierai de me documenter plus en profondeur la dessus, mais si quelqu'un a une idée :)

    Merci encore
    0