为了账号安全,请及时绑定邮箱和手机立即绑定

$("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'))是什么意思?麻烦细细解释

正在回答

4 回答

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


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

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

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

                $(this).addClass('imoocClass')

            }

        });


0 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

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

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


1 回复 有任何疑惑可以回复我~
#1

ken0510

if(-1 !== className.indexOf('imooc') 其中的indedof方法是获取imooc里面e的位置吗
2016-08-02 回复 有任何疑惑可以回复我~
#2

html2015 回复 ken0510

if(-1 !== className.indexOf('imooc')指输出的搜索值不是-1的时候执行后面的语句,而 className.indexOf('imooc')是在前面的div的className中找寻imooc,因为每一个className中最后都有imooc,所以indexOf的输出不可能是-1,所以执行if后面的语句。
2016-09-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信