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 :

Afficher certains sous-éléments lors d'un clic


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 24
    Par défaut Afficher certains sous-éléments lors d'un clic
    Salut tout le monde.

    Alors voilà, j'ai la liste suivante:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <ul class="packageBody">
        <li>LIGNE 1</li>
        <li>LIGNE 2</li>
        <li>LIGNE 3</li>
        <li>LIGNE 4</li>
        <li><a href="#" class="item_display_more">VOIR SOUS-LIGNES</a></li>
        <li class="menu_display_more">SOUS-LIGNE 1</li>
        <li class="menu_display_more">SOUS-LIGNE 2</li>
        <li class="menu_display_more">SOUS-LIGNE  3</li>
        <li><a href="#">Affiche Popup</a></li>
    </ul>

    Par défaut, la classe «menu_display_more» est cachée en CSS.
    Je souhaiterais, lors du clic sur «VOIR SOUS-LIGNES», afficher toutes les sous-lignes de l'élément packageBody.
    Je suis obligé d'utiliser les CLASS parce qu'il y a plusieurs éléments «packageBody» dans ma page.
    Bien entendu, je souhaite n'afficher les sous-lignes QUE pour le «packageBody» sélectionné.

    Actuellement, j'utilise ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('.packageBody').click(function(event){
    		$('.menu_display_more').toggle();
    		event.preventDefault();
    	});
    Ce code fonctionne parfaitement… sauf que lors du clic sur le lien «Affiche Popup»… les sous-lignes s'affichent aussi!
    Il est logique que les sous-lignes s'affichent, mais ce n'est pas ce que je souhaite.
    En outre, je souhaiterais modifier le texte «VOIR SOUS-LIGNES» en «CACHER SOUS-LIGNES» mais vu que le jQuery traîte le «packageBody», je n'ai pas accès au lien…

    Vous avez une idée pour résoudre mon problème?
    Merci beaucoup.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    change ta structure en utilisant une sous liste
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <ul class="packageBody">
        <li>LIGNE 1</li>
        <li>LIGNE 2</li>
        <li>LIGNE 3</li>
        <li>LIGNE 4</li>
        <li><a href="#" class="item_display_more">VOIR SOUS-LIGNES</a>
          <ul>
            <li class="menu_display_more">SOUS-LIGNE 1</li>
            <li class="menu_display_more">SOUS-LIGNE 2</li>
            <li class="menu_display_more">SOUS-LIGNE  3</li>
          </ul>
        </li>
        <li><a href="#">Affiche Popup</a></li>
    </ul>

Discussions similaires

  1. afficher une balise div lors d'un clic sur un lien
    Par jules_diedhiou dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 27/06/2011, 10h16
  2. Réponses: 9
    Dernier message: 01/08/2008, 16h17
  3. Certaines pages ne s'affichent pas sous firefox
    Par Hyoga dans le forum Firefox
    Réponses: 8
    Dernier message: 27/05/2008, 13h51
  4. Exclure certains sous éléments de la validation
    Par T`lash dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/11/2007, 12h07
  5. Attribuer une classe à un élément lors d'un clic
    Par Perceval dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 18/10/2005, 17h19

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