前端元素的动态操作中,我们可以对一个元素添加一个类,也可以删除一个类。那如果我们对指定的元素中的某个类在添加和删除之间来回切换呢?这篇文章就说一说,元素中某个类在添加和删除之间的切换效果,也就是JQ中的切换事件。
JQ中的toggleClass()方法定义与用法
toggleClass():此方法对设置或移除被选元素的一个或多个类进行切换。
注意:该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果
语法
$(selector).toggleClass(class,switch)
例:JQ改变字体的颜色
代码
<style>
.c{
color:red;
}
#mochu{
margin: 10px 0;
}
</style>
<div id="mochu">
</div>
<button>点我测试</button>
<script>
$('button').click(function(){
$('#mochu').toggleClass('c');
});
</script>运行结果如下图,字体会在两种颜色之间进行切换:

例:JQ显示和隐藏某个元素
还是上面的代码,我们只改成一个类C的属性
代码
<style>
.c{
display: none;
}
#mochu{
margin: 10px 0;
}
</style>
<div id="mochu">
</div>
<button>点我测试</button>
<script>
$('button').click(function(){
$('#mochu').toggleClass('c');
});
</script>运行结果如下图:

注意:请比较以上两张图中箭头所指的方向,每次点击按钮,元素中的类都在添加和删除两事件中切换。
JQ利用判断来添加和删除类
如果上面的例子,不能完全的了解toggleClass()方法,那么下面的示例可以从另一方面来实现类的添加和删除
<style>
.c{
display: none;
}
#mochu{
margin: 10px 0;
}
</style>
<div id="mochu">
</div>
<button>点我测试</button>
<script>
$('button').click(function(){
// $('#mochu').toggleClass('c');
// 以下代码和上面被注释掉的代码等价
if($('#mochu').hasClass('c')){
$('#mochu').removeClass('c');
}else{
$('#mochu').addClass('c');
}
});
</script>我们可以使用hasClass方法判断是否具有类C,如果有就删除,如果没有就添加。
removeClass() //删除一个类 addClass() //添加一个类
以上就是jq类的切换事件,toggleClass()方法。一切幸福,都是由生命热血换来的。更多关于jq类的切换事件,toggleClass()方法请关注haodaima.com其它相关文章!



