我做了一个小函数,当我们点击li时,我的工作是在li中添加类,但我想删除它,如果已经有了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>
答案 0 :(得分:6)
您可以使用toggleClass
这将根据需要添加或删除
$('.main li').live('click',function(){
$(this).toggleClass('active');
});
如果要从其他地方删除此类,可以添加一行:
$('.main li').live('click',function(){
$('.main li.active').removeClass('active')
$(this).addClass('active');
});
答案 1 :(得分:2)
使用jquery函数.toggleClass
。
$('.main li').click( function(){
$(this).toggleClass('active');
});
答案 2 :(得分:0)
这可以尝试...
$("#button").click(function(){
$(".addclass").addClass("add");
})
$("#button2").click(function(){
$(".addclass").removeClass("add");
})
.add{
color:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="addclass">Sample text to add class on it</p>
<button id="button">Add Class</button>
<button id="button2">Remove Class</button>