IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

débutant, $(this).next semble ne rien retourner


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 11
    Par défaut débutant, $(this).next semble ne rien retourner
    Bonsoir,

    Premier post ce sur forum, premier problème en jquery !

    J'ai découvert (du moins, essayé) jQuery assez récemment, et je me retrouve avec une petit incompréhension lors d'une tentative d'utilisation d'un slideToggle();

    Explications :

    Je possède un menu qui contient divers liens, et certains de ces liens possèdent des sous-menus. Et je souhaiterai que lors d'un click sur un lien, le sous-menu apparaisse (via un slideToggle() donc).

    Pour l'instant, j'utilise le code suivant :


    Côté XHTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <a href="#" id="lien2">Lien n°2</a>
    <a href="javascript:void(0);" class="showLien"><img src="./img/show-lien.png" alt="" /></a> 
    <a href="javascript:void(0);" class="hideLien"><img src="./img/hide-lien.png" alt="" /></a><br />
    <ul class="mList">
    	<li><a href="#">Sous lien n°1</a></li>
    	<li><a href="#">Sous lien n°2</a></li>
    </ul>

    Côté jQuery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("a.showLien").click(function(){
    		$(this).next("ul.mList").slideToggle("slow");
    )};

    Le problème est que ... Rien ne se passe. Et j'avoue avoir du mal à cerner la cause.

    Est-ce le $(this) qui ne retourne rien ? Ou alors le .next() ? ...
    Bref, beaucoup d'interrogations pour un code bien simple ... :/


    (Pour info, j'utilise jquery-1.3.2.min)


    Merci d'avance pour vos réponses et/ou explications.


    Impli.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Attention, il y a une inversion de })
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $("a.showLien").click(function(){
    		$(this).next("ul.mList").slideToggle("slow");
    )};
    Il faut utiliser nextAll car il cherche plus loin que l'élément proche (next trouve uniquement le lien a suivant) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("a.showLien").click(function(){
    	$(this).nextAll("ul.mList").slideToggle("slow");
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 11
    Par défaut
    Bonsoir,

    Concernant le }); c''était une faute de frappe lorsque j'ai tapé le code dans le post.

    Sinon nextAll() règle bel et bien le "problème" (ou du moins, ça comble mon manque de connaissance dans jQuery). Merci pour l'info : )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/04/2010, 20h43
  2. Bonnes pratique : ne rien retourner ou retourner un objet ?
    Par harf18 dans le forum Général Java
    Réponses: 10
    Dernier message: 12/03/2010, 12h32
  3. Réponses: 6
    Dernier message: 18/02/2010, 11h26
  4. la commande "next" semble bégailler
    Par pfxxx dans le forum GDB
    Réponses: 7
    Dernier message: 06/01/2010, 11h36
  5. Réponses: 2
    Dernier message: 25/11/2007, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo