2010-04-18 6 views
4

J'ai quelques éléments de la liste, comme ceci:jQuery - bascule la classe d'un élément parent?

<li class="item"> 
    <a class="toggle"><h4>ämne<small>2010-04-17 kl 12:54 by <u>nike1</u></small></h4></a> 
    <div class="meddel"> 
     <span> 
      <img style="max-width: 70%; min-height: 70%;" src="profile-images/nike1.jpg" alt="" /> 
      <a href="account.php?usr=47">nike1</a> 
     </span> 

     <p>text</p> 
     <span style="clear: both; display: block;"></span> 
    </div> 
</li> 

<li class="item odd"> 
    <a class="toggle"><h4>test<small>2010-04-17 kl 15:01 by <u>nike1</u></small></h4></a> 
    <div class="meddel"> 
     <span> 
      <img style="max-width: 70%; min-height: 70%;" src="profile-images/nike1.jpg" alt="" /> 
      <a href="account.php?usr=47">nike1</a> 
     </span> 

     <p>test meddelande :) [a]http://youtube.com[/a]</p> 
     <span style="clear: both; display: block;"></span> 
    </div> 
</li> 

Et je suis en train de comprendre comment faire en sorte que lorsque vous cliquez sur un lien avec le .toggle de classe, l'élément parent (la li element) bascule la classe .current.

Je ne suis pas sûr si le code suivant est correct ou non, mais cela ne fonctionne pas. Même si je supprime "('.item')", cela ne semble pas faire de différence.

Alors, des idées?

Merci à l'avance

Répondre

7

toggleClass prend un nom de classe, pas un sélecteur. Par conséquent, vous ne devez pas inclure un ..
Changez-le en toggleClass('current') (sans .).

En outre, vous pouvez rendre votre code plus robuste en appelant closest au lieu de parent. Le closest recherchera l'élément parent le plus profond qui correspond au sélecteur, de sorte qu'il continuera à fonctionner si le lien est imbriqué dans le .item.

+0

Merci, ne semble toujours pas fonctionner si:/ \t $ cliquez sur (function() { \t \t $ (this) .next ("div ('pmlist ul li .toggle.). ") .toggle (250); \t \t $ (ce) .closest ('article'). toggleClass ('current'); \t}); La fonction toggle avant les déclencheurs, c'est juste la fonction toggleClass qui pour une raison quelconque ne fonctionne pas. – qwerty

+0

Un peu merdique que vous ne pouvez pas poster des blocs de code comme des commentaires, ou même ajouter de nouvelles lignes: S J'espère que vous pouvez le lire de toute façon: P – qwerty

+0

Pouvez-vous voir la classe dans Firebug? – SLaks