在 jQuery 中,我们可以使用 toggleClass() 方法为元素切换类名。toggle,其实就是“切换”的意思,之后我们会大量接触这个单词,例如 toggle()、slideToggle() 等,小伙伴要留意和对比一下。
语法:
toggleClass() 方法用于检查元素是否有某个 class。如果 class 不存在,则为元素添加该 class;如果 class 已经存在,则为元素删除该 class。
举例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <style type="text/css">
- .select
- {
- color:red;
- background-color:silver;
- font-weight:bold;
- }
- </style>
- <script src="js/jquery-1.12.4.min.js"></script>
- <script>
- $(function () {
- $("#btn").click(function(){
- $("li:nth-child(odd)").toggleClass("select");
- });
- })
- </script>
- </head>
- <body>
- <ul>
- <li>HTML</li>
- <li>CSS</li>
- <li>JavaScript</li>
- <li>jQuery</li>
- <li>Vue.js</li>
- </ul>
- <input id="btn" type="button" value="切换" />
- </body>
- </html>
预览效果如图 1 所示。
在这个例子中,我们使用 toggleClass() 方法来切换元素的 class,使得元素可以在“默认样式”以及“class 样式”之间来回切换。
从这一节的学习中我们知道,使用 jQuery 来操作 CSS 类名这种方式是非常有用的。当 CSS 代码比较多时,我们可以将其放到一个 class 中,这样每次只需要对类名进行操作即可。这种方式相对于 css() 方法来说,代码更加清晰,可读性和可维护性都比较高。
最后总结一下:使用 jQuery 操作元素的样式时,如果样式比较少,建议使用“属性操作”,也就是 css() 方法;如果样式比较多,建议使用“类名操作”,也就是 addClass()、removeClass()、toggleClass() 等方法。