Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2015, 09:05
RSmith
 
Fecha de Ingreso: julio-2014
Mensajes: 79
Antigüedad: 10 años, 3 meses
Puntos: 1
No puedo agregar la clase active

Hola buenos días,
Busque mucho en Internet sobre como agregar la clase active a un menu. Probe varios códigos que están en Internet pero ninguno funcionaba, trate de hacerlo yo solo desde cero pero tampoco funciona y la verdad no entiendo porque. La lógica es simple, agregar la clase active al botón que se selecciona, pero algo estoy haciendo mal y no me doy cuenta. Si yo tengo este menu usando de base bootstrap:
Código HTML:
<div class="navbar-collapse nav-main-collapse collapse">
    <div class="container">
        <nav id="menu" class="nav-main mega-menu">
            <ul id="mainMenu" class="nav nav-pills nav-main">
                <li><a href="#">link 1</a></li>
                <li><a href="#">link 2</a></li>
                <li><a href="#">link 3</a></li>
                <li class="dropdown mega-menu-item">
                    <a class="dropdown-toggle" href="#">
                        link 4
                    </a>
                    <ul class="dropdown-menu">
                        <li><a href="#">link 4.1</a></li>
                        <li><a href="#">link 4.2</a></li>
                        <li><a href="#">link 4.3</a></li>
                        <li><a href="#">link 4.4</a></li>
                        <li><a href="#">link 4.5</a></li>
                    </ul>
                </li>
                <li><a href="#">link 5</a></li>
                <li><a href="#">link 6</a></li>
                <li><a href="#">link 7</a></li>
            </ul>
        </nav>
    </div>
</div> 
Lo que yo creo que hay que hacer es seleccionar el "li" y capturar el evento cuando se hace clic, y si se le hace clic agregar le la clase active. Para hacer esto lo que estoy haciendo es esto:

Código:
$(document).ready(function(){
    $('#menu li').click(function(){
        $('#mainMenu li').removeClass('active');
        $(this).addClass('active');
    });
});
La otra duda que me surge es, al agregarle la clase active y se recargue la pagina (por ejemplo al pasar de la pagina "link 1" a la pagina "link 2") no se eliminaria la clase active ?
Se que hay muchos temas sobre esto pero la verdad que estoy probando hace 2 dias y no logro que ande. Alguien me puede ayudar ?