La bascule de classe avec jQuery
J'aurais besoin de cacher une div lorsque l'utilisateur clique sur un lien.
Le html est quelque chose comme ceci:
<div class="item">
<div class="entry">
Lorem ipsum
</div>
<a href="#" class="commentsToggle">Show/hide comments</a>
<div class="comments hidden">
This comments div I want show/hide
</div>
</div>
<div class="item">
<div class="entry">
Lorem ipsum
</div>
<a href="#" class="commentsToggle">Show/hide comments</a>
<div class="comments hidden">
This comments div I want show/hide
</div>
</div>
....there's multiple items after this
En tant que par défaut les commentaires sont cachés (d'où la classe cachés là). Maintenant, si l'utilisateur clique sur " Afficher/masquer les commentaires lien, il devrait afficher ou masquer les commentaires pour ce point précis, en fonction sont-ils visibles ou non. Maintenant, la question est ai-je besoin d'une pièce d'identité pour le contrôle de js à crochet seulement pour que l'on specicif éléments ocmments et puis-je le faire witouh id?
Le js est quelque chose comme l'atm:
$('.item .commentsToggle').click(function(){
elem = $(this).parents('.item');
$(elem).find('.comments').each(function() {
$(this).toggleClass('hidden');
});
});
Si il n'y a qu'une chose qui fonctionne, mais si plusieurs il se décompose :/
C'est assez simple.. j'ai tout simplement pas l'obtenir dans ma tête comment le faire en fait 😀
OriginalL'auteur user1069269 | 2011-11-28
Vous devez vous connecter pour publier un commentaire.
http://jsfiddle.net/uB9Fb/
essayer ce JS:
OriginalL'auteur Zoltan Toth
Si vous garder la structure actuelle de chaque post, le plus court chemin à faire c'est
Mais d'une manière plus générale, c'est comme vous êtes suggérant
Notez également que vous devez utiliser le
.on()
fonction de lier les événements de jQuery 1.7, même si les anciennes fonctions encore du travail.OriginalL'auteur Zut
Je le ferais comme suit
et si vous avez d'autres commentaires, vous pouvez utiliser les éléments suivants
OriginalL'auteur Ehtesham