Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2013, 09:05
Avatar de madman_18
madman_18
 
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Pregunta Encontrar elemento con una clase y quitarselo

Buenas tardes!

¿Cómo podría encontrar un elemento del menú con determinada clase y quitarsela?
Veréis, mi menú consta de:
Código HTML:
Ver original
  1. <nav class="menu" id="menu">
  2.                 <ul>
  3.                     <a href="#cooperativa"><li>Cooperativa</li></a>
  4.                     <a href="#aceites"><li>Aceites</li></a>
  5.                     <a href="#tienda"><li>Tienda On-line</li></a>
  6.                     <a href="#socios"><li class="activo">Zona Privada</li></a>
  7.                     <a href="#contacto"><li>Contacto</li></a>
  8.                 </ul>
  9.                 <div class="separator-menu"></div>
  10.             </nav>
Y en el script en el que asocio el click al href soy capaz de encontrar el elemento "li" con la clase activo...pero no soy capaz de quitarselo y asignarselo al que han pulsado.

Os pongo el código:

Código Javascript:
Ver original
  1. var mi_menu = "#"+id+" a[href*=#]";
  2.         var bloque = "#"+id;
  3.         $(mi_menu).click(function(){
  4.             //busco cualquier objeto que tenga la clase "activo"
  5.             if ($(bloque).find("li").hasClass('activo')){
  6.                 // hay alguno que está con clase 'activo'
  7.                 $(bloque).find("li").hasClass('activo').removeClass('activo');
  8.                 //he probado esto de aquí pero no lo realiza :(
  9.             }else{
  10.                 alert('No hay');
  11.             }            
  12.             if (location.pathname.replace(/^\//,'') === this.pathname.replace(/^\//,'')
  13.                    && location.hostname === this.hostname) {
  14.                      var $target = $(this.hash);
  15.                      $target = $target.length && $target
  16.                      || $('[name=' + this.hash.slice(1) +']');
  17.                      if ($target.length){                        
  18.                        var targetOffset = $target.offset().top;
  19.                        $('html,body').stop().animate({scrollTop: targetOffset}, 1800);
  20.                       return false;
  21.                      }
  22.                    }                                      
  23.             });
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"