2010-08-05 15 views
6

¿Cómo podría usar el selector adyacente "+" con $ (this).

que iba a necesitar una ayuda con las líneas de comentarios con // esto no funciona:

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

Podría darme una mano?

Gracias mucho por adelantado.

Atentamente.

José

Respuesta

9

Uso next()

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

O simplemente:

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

También puede reducir en tener dos estados para ocultar y mostrar:

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

this es una referencia al DOM element de la invocación. No puede concat un string a eso.

Así que o bien puede utilizar directamente this para actuar en consecuencia

$(this).hide(); 

o se puede caminar a través de la DOM desde allí

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