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

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

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


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

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

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

                $(this).addClass('imoocClass')

            }

        });

function(index,className)中的index和className有什么作用,函数中并没有使用这个参数,

if(-1 !== className.indexOf('imooc'))是什么意思?麻烦细细解释

提问者:qq_啊啦嘞_0 2016-07-19 22:54

个回答

  • xdrl
    2016-10-23 15:01:59

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


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

                if(0=== className.indexOf('imooc') or 1=== className.indexOf('imooc')){

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

                    $(this).addClass('imoocClass')

                }

            });


  • ray1208
    2016-07-22 23:55:18

    首先你可以打印一下这个className的值,看下到底是什么。index的意思是某个具有className的div在document.getElementsByTagName中的索引,这里没用到。-1 !== className.indexOf('imooc')的意思就是判断imooc这个className存在,则执行{}中的语句。

  • qq_穿越三国遇见猫_0
    2016-07-20 09:46:21

    indexOf方法获取到指定的字符在字符串中第一次出现的位置,从0开始。如果一开始就是e则返回0,如果第二个位置是e则返回1,如果搜完整个字符串都没有e则返回-1 。

    反证法 如果该方法不返回-1 就证明该字符串中含有e字符。