问答详情
源自:3-6 jQuery的属性与样式之切换样式.toggleClass()

toggleClass的用法

//所有的奇数tr元素,应该都保留class="c"样式

    $("#table tr:even").toggleClass("c", true);

为什么注释里说,奇数tr元素,应该都保留class="c"样式,even不是偶数吗?

提问者:sky_fanny 2016-04-29 09:51

个回答

  • _FYX_
    2016-07-25 10:34:18

    老师注册有误 正确应该是

     <script type="text/javascript">

        //给所有的奇数tr元素切换class="c"的样式

        //所有偶数的样式保留,奇数的被删除

        $("#table tr:odd").toggleClass("c");


    后边是

    //所有的偶数tr元素,应该都保留class="c"样式

        $("#table tr:even").toggleClass("c", true); //这个操作没有变化,因为样式已经是存在的

        </script>


  • 你今天狠可爱
    2016-06-14 23:11:40

     :even 选择器和 :odd 选择器选取带有相应偶数或奇数index 值的元素,元素的index 值从 0 开始。

    也就是说例子中的第一行的index是0,而0是偶数行。

    在例子中

     $("#table tr").toggleClass("c");                          //首先给所有的tr加class="c"的样式。

    $("#table tr:odd").toggleClass("c");                //然后是去掉奇数行tr的class="c"的样式。

    $("#table tr:even").toggleClass("c", true);   //最后再给偶数行tr加class="c"的样式。

    最后结果就是所有的偶数行tr有class="c"的样式。


  • lovely狮子
    2016-04-30 17:34:13

    因为$("#table tr:even")的意思是选中了偶数元素,而toggleClass的用法是如果有就删除,而这里面是有偶数元素的,所以就把偶数元素的样式删除了,只剩下奇数的还保留