How to add class using jQuery?
css, jquery
Solution
You can just use `toggleClass` this will add or remove it as necessary
$('.main li').live('click',function(){
$(this).toggleClass('active');
});
if you want to remove this class from elsewhere, you can add an extra line:
$('.main li').live('click',function(){
$('.main li.active').removeClass('active')
$(this).addClass('active');
});
Problem
I made a small function whose work to do add class in `<li>` when we clicks on <`li>`, but I want to remove that if it is already had with `<li>`. ``` <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)"> <meta name="created" content="Tue, 22 May 2012 12:39:23 GMT"> <meta name="description" content=""> <meta name="keywords" content=""> <title></title> <style type="text/css"> <!-- body { color:#000000; background-color:#FFFFFF; } a { color:#0000FF; } a:visited { color:#800080; } a:hover { color:#008000; } a:active { color:#FF0000; } --> </style> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript"> $(function(){ $('.main').find('li').each(function(){ $(this).live('click', function (){ $(this).addClass('active') }) }) }) </script> </head> <body> <ul class="main"> <li>first</li> <li>second</li> <li>third</li> <li>fourth</li> </ul> </body> </html> ```