Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add active class with current element and remove from all other elements

Tags:

html

jquery

I have 5 options in the navbar. Bydefault first option (dashboard) will be in active state. when the second option is selected i.e.,(motes) both first and second options are getting selected. i want only one option to be selected when i click on the particular option. how to overcome this?

    <nav class="nav-container showNav">
        <ul class="nav-list">
            <li class="list-item dashboard">
            <a href="#"><i class="active menu fa fa-tachometer" aria-hidden="true"> dashboard </i></a>
            </li>
            <li class="list-item motes none-events">
            <a href="#"><i class="menu fa fa-desktop"> motes </i></a>
            </li>
            <li class="list-item network none-events">
            <a href="#"><i class="menu fa fa-usb"> network </i></a>
            </li>
            <li class="list-item sensors none-events">
            <a href="#"><i class="menu fa fa-edge"> sensors </i></a>
            </li>
            <li class="list-item log none-events">
            <a href="#"><i class="menu fa fa-bar-chart"> log </i></a>
            </li>
        </ul>
    </nav>

here is my jquery

$(document).ready(function() {
    $(".menu").click(function () {
        if (!$(this).hasClass("active")) {
            $(this).addClass("active")
                    .siblings(".menu")
                    .removeClass("active");
        }
    });
    $(".motes").click(function() {
        $(this).siblings(".menu").removeClass("active");
    });
});
like image 416
Hema Krishna Avatar asked Dec 11 '25 07:12

Hema Krishna


2 Answers

Try this,

$(document).ready(function() {
$(".menu").click(function () {
    $(this).addClass("active");
    $(".menu").not(this).removeClass("active");
});

});
like image 100
K.B Avatar answered Dec 13 '25 21:12

K.B


Try this code

$(document).ready(function() {
    $(document).on('click', '.menu',function () {
        $('.menu').removeClass("active");
        $(this).addClass("active");
    });
});
like image 30
Haseeb Ibrar Avatar answered Dec 13 '25 21:12

Haseeb Ibrar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!