类操作
类操作就是通过操作元素的类名进行元素样式操作,当元素样式比较复杂时,如果通过css()方法实现,需要在CSS里编写很长的代码,既不美观也不方便。而通过写一个类名,把类名加上或去掉就会显得很方便。下面通过代码演示类的添加、删除和切换。
1. 准备工作
先准备一个HTML网页,然后用jQuery代码对网页进行操作。HTML代码如下。
1 <style>
2 .current { background-color: red; }
3 </style>
4 <div>添加类名</div>
5 <div class="current">删除类名</div>
6 <div class="current">切换类名</div>
上述代码中,第2行定义current类的样式为背景色为红色,第5行和第6行定义了两个类名为current的div元素。
2. addClass()添加类
addClass()方法向被选元素添加一个或多个类名,基本语法如下所示。
$(selector).addClass(className)
上述代码中,className表示要添加的类名,示例代码如下。
1 <script>
2 $("div").click(function() {
3 $(this).addClass("current");
4 });
5 </script>
上述代码执行后,单击页面中的“添加类名”按钮,就会在div元素上添加current类名,背景色修改为红色。
如果添加多个类,使用空格分隔类名,示例代码如下。
$(this).addClass("current current1 …");
3. removeClass()移除类
removeClass()方法从被选元素移除一个或多个类,基本语法如下所示。
$(selector).removeClass(className)
上述代码中, className参数可以传入一个或多个类名,使用空格来分隔,如果省略该参数,表示移除所有的类名。下面通过代码演示。
1 <script>
2 $("div").click(function() {
3 $(this).removeClass("current");
4 });
5 </script>
上述代码执行后,单击页面中的“删除类名”按钮,在div元素上的current类名会被移除,背景色消失。
4. toggleClass()切换类
toggleClass()方法用来为元素添加或移除某个类,如果类不存在,就添加该类,如果类存在,就移除该类。基本语法如下所示。
$(selector).toggleClass(className, switch)
上述代码中,className表示添加或移除的一个或多个类名,多个类名用空格分隔;switch参数用来规定只删除类或只添加类,设为true表示添加,设为false表示移除。
下面通过代码演示toggleClass()的使用。
1 <script>
2 $("div").click(function() {
3 $(this).toggleClass("current");
4 });
5 </script>
上述代码执行后,单击页面中的“切换类名”按钮,当div元素上存在current类名时,则被移除,否则就添加。可以实现字体背景色的切换效果。