2009-12-23 22 views
5

He intentado varias opciones pero no puedo hacer que la tontería funcione. ¿Cómo obtengo el intervalo dentro de una etiqueta < a> dentro de un < li> para cambiar la clase a "activa"; luego quítelo cuando se haga clic en otro < a>?agregar/eliminar la clase en span dentro de una etiqueta

<ul id="dumb"> 
<li><a href="#">Something<span></span></a></li> 
<li><a href="#">Something Else<span></span></a></li> 
</ul> 

hacer clic en el < a> debe dar el lapso de una clase de "activa", y cuando se hace clic en otra, debe eliminarlo de la original y añadirlo a la duración de ese < a> ...

Gracias!

Respuesta

10
$(function(){ 
     $("#dumb > li > a").click (function(){ 
     $("#dumb > li > a > span").removeClass ('active'); 
     $(this).find('span').addClass('active'); 
     return false; 
    }); 
}); 
+1

¡Sí, eso funciona un placer! Aclamaciones. – lnvrt

5

Prueba esto:

$(document).ready(function(){ 
    var $MySpans = $("#dumb li a span"); 
    $MySpans.click(function(){ 
     $MySpans.removeClass(); 
     $(this).addClass("active"); 
    }); 
}); 

Usted puede tratar esto así, ya que será un selector rápido si funciona:

var $MySpans = $("#dumb>li>a>span"); 
1

jQuery ('# li mudo hasta una edad') .addClass ("activo");

Cuestiones relacionadas