JQuery toggleClass parents et les enfants

Je suis juste arriver à connaître Javascript et JQuery et je ne peux pas comprendre cela: Est-il une façon plus simple pour cela:

$(".toggle").click(function(){
$(this).parent().toggleClass("collapsed");
$(this).parent().children().toggleClass("collapsed");
$(this).parent().next(".abcContent").toggle(0);

Je suis content d'avoir réussi à le faire fonctionner, après tout, mais sûrement, ce n'est pas comment c'est fait correctement... je veux basculer la classe parent (abcTitle), y compris ses enfants (bouton).

<div class="abcTitle">
<div class="abcButton toggle"></div>
<h4 class=toggle>Title</h4><div class="sortable"></div>
</div>
<div class="abcContent">Content</div>

Merci de m'éclairer!

De précisions voici quelques CSS

.abcButton {
    background-image:url(minus.png);
}
.abcButton.collapsed {
    background-image:url(plus.png); 
}
.abcTitle {
    border-top-left-radius:14px;
}
.abcTitle.collapsed {
    border-bottom-left-radius:14px;
}

Donc, fondamentalement, un clic sur abcButton ou H4 est censé déclencher l'effondrement de abcContent tout en ajoutant de la classe .s'est effondré à la fois abcButton et abcTitle.

(Btw, Si je pouvais comprendre comment exclure

<div class="sortable"></div>

à partir de la fonction de clic seulement je pouvais faire abcTitle mon gestionnaire de clic, sans avoir besoin de les séparer abcButton et h4)

  • Si vous essayez d'afficher/masquer tous les différents éléments sur le même plan, ne serait-il pas plus facile de cacher un récipient qui les contient?
  • Vous ne savez pas si c'est ce que je veux faire... je suis en train d'essayer de masquer/afficher un élément, tout en ajoutant des classes à certaines autres.
InformationsquelleAutor Tim | 2011-01-19