2010-08-05 7 views
6

Comment pourrais-je utiliser le sélecteur adjacent "+" avec le $ (this).

je besoin d'une aide avec les lignes commentées avec ce // ne fonctionne pas:

$(".ExpandCollapse").click(function() { 
      if ($(this).nextUntil('.Collapsable').is(':visible')) 
      { 
       //this doesnt work 
       $(this + ".Collapsable").hide(); 
      } 
      else 
      { 
       //this doesnt work 
       $(this + ".Collapsable").show(); 
      } 
     }); 

Pourriez-vous me donner un coup de main?

Merci beaucoup d'avance.

Cordialement.

Jose

Répondre

9

Utilisez next()

$(this).next(".Collapsable").hide(); 

Ou simplement:

$(this).next().hide(); 
2

Vous pouvez également réduire d'avoir deux déclarations pour se cacher et de montrer:

$(this).next().toggle(); 
1

this est une référence au DOM element d'invocation. Vous ne pouvez pas concaténer un string à cela.

Vous pouvez soit utiliser directement this pour agir sur elle

$(this).hide(); 

ou vous pouvez vous promener à travers le DOM à partir de là

$(this).next().hide(); 
$(this).prev().hide(); 
$(this).closest('.Collapsable').hide(); 
// another 200 methods