Home > database >  How to change the class of a <li> element after clicking on a tab
How to change the class of a <li> element after clicking on a tab

Time:11-18

I would like to modify the class of certain elements of my sidebar when some user clicks on a tab. In short, change the class of the sidebar elements to current class " active"

I have implemented a partially working solution as I could after doing some research on my own.

This part of the code is key:

$(".setActive").click(function() {
            $(".sidebar-item:contains('" $(this).attr("data-target") "')").parent().parent().addClass(' active');
})

Actually, with that line of code, I change the class to active but there is a problem:

  • I don't know how to remove the active class from the previously visited sidebar elements, then I am getting something like this:

current result

How can I solve this issue?

JS FIDDLE LIVE DEMO

CodePudding user response:

Remove all active class added before adding the current one

$(".setActive").click(function() {
    $(".sidebar-element.active").removeClass('active');
    $(".sidebar-item:contains('" $(this).attr("data-target") "')").parent().parent().addClass(' active');
})
  • Related