参考 http://www.w3schools.com/jquery/html_toggleclass.asp
$(selector).toggleClass(classname,function(index,currentclass),switch)但是个人感觉应该是这样的:
$(selector).toggleClass(classname) $(selector).toggleClass(classname,switch) $(selector).toggleClass(function(index,currentclass),switch)同时指定了classname和function 只有classname生效
结果 : 点击切换按钮后,两个段落的文本红色显示将进行切换,默认第一个没有main而第二个有 第一次点击时,给第一个添加 给第二个移除,之后的点击以此类推
如果一次操作多个类 类名之间空格分隔即可加上参数switch 值为true或false 为true是只添加,false只移除,作用应该和addClass removeClass 相同
关于使用function来返回类名,在一个w3c上的demo:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="css/common.css"> <script src="js/jquery-1.11.0.min.js"></script> <style> .listitem_1, .listitem_3 { color: red; } .listitem_0, .listitem_2 { color: blue; } </style> </head> <body> <ul> <li>Peter</li> <li>Lois</li> <li>Chris</li> <li>Stewie</li> </ul> <button>Add/remove classes to list items</button> </body> <script> $(document).ready(function() { $("button").click(function() { $("li").toggleClass(function(n) { return "listitem_" + n; }); }); }); </script> </html>点击按钮切换:
<!-- 状态1 --> <ul> <li class="">Peter</li> <li class="">Lois</li> <li class="">Chris</li> <li class="">Stewie</li> </ul> <!-- 状态2 --> <ul> <li class="listitem_0">Peter</li> <li class="listitem_1">Lois</li> <li class="listitem_2">Chris</li> <li class="listitem_3">Stewie</li> </ul>