问答详情
源自:3-4 jQuery的属性与样式之增加样式.addClass()

addclass()

 $("div").addClass(function(index,className) {


            //找到类名中包含了imooc的元素

            if(-1 !== className.indexOf('imooc')){

                //this指向匹配元素集合中的当前元素

                $(this).addClass('imoocClass')

            }

        });

很乱,可以解释下吗

如函数funciton括号里的index classname代表什么意思,还有条件是什么意思

提问者:慕粉3724715 2016-10-11 23:52

个回答

  • Yinsion_Nie
    2016-10-12 16:54:35
    已采纳

    index就是传入$("div")找到的div的下标,className是index=index的div的类名的集合,然后采用str.indexOf(string)方法,判断这个类名的集合中是否包含有imooc这个类名,没有则返回-1。所以,如果返回的是-1,那么就是当前div没有imooc的这个类名,就不用给它添加imoocClass的类名;如果返回的不是-1,那么就给它添加imoocClass的类名。

  • 肖炎
    2016-12-02 16:21:57

    不是说返回吧  那是看imooc的位置的  classname是每一次的名字   indexof  是看每一次classname  imooc的位置。记住 classname  是每一个元素 类名的集合,不是 所有元素的集合

  • Jest
    2016-10-12 11:46:54

    意思是如果找到了class类名包含imooc的,那么就给他添加一个名为imoocClass的类名!