2008-12-09 2 views
1

Disons que nous avons quelque chose comme:Afficher l'élément de l'élément des parents

<div class="row"> 
     <div class="box"> 
      <a class="more" href="#more"/> 
     </div> 
     <div class="hidden"> 
      stuff 
     </div> 
</div> 
<div class="row"> 
     <div class="box"> 
      <a class="more" href="#more"/> 
     </div> 
     <div class="hidden"> 
      stuff 
     </div> 
    </div> 

Ainsi, lorsque vous cliquez sur le more link il toggles le hidden class. mais pas les deux classes cachées.

J'ai essayé d'éditer quelques trucs avec $(this) mais rien. J'ai juste commencé jquery/js donc pas le meilleur avec ça.

C'est ce que je

$(".row .more").click( 
     function() 
     { 
      var parentTag = $(this); 
      var parentTag = "." + $(this).parent().parent().parent().attr('class') + ""; 
      //$(this).prepend(document.createTextNode(parentTag));  
      $(parentTag + " .forum-stats").slideToggle("slow"); 
      return false; 
     } 
    ); 

Il fonctionne maintenant. :(Je espère que vous comprenez ma question ... Merci

Répondre

1

Cela ne peut être la solution la plus efficace, mais essayez ceci:!.

$(".row #more").click(function() { 
     $(this).parents(".row").children(".hidden").slideToggle("slow");  
    } 
); 

Cela devrait fonctionner, si je comprends bien votre question

+0

Cela a fonctionné, merci et je reçois ce que vous avez fait! Double bonus! – twodayslate

+0

@tvanfosson il ne semble pas .. – twodayslate

+0

Avez-vous utilisé .more ou #more, #more sélectionne par son nom.En fait, maintenant que je pense à ce sujet, je ne suis pas sûr de savoir comment cela fonctionnerait aveC# plus car il n'y a pas d'éléments nommés #more. – tvanfosson

1
$('a[href=#more]').click(function() { 
    $(this).parents('.row > div.hidden').slideToggle('slow'); 
}); 
Questions connexes