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

同学们,解释一下这句话的意思,没太明白


    <script type="text/javascript"> 

    

        //通过className(fucntion)方法

        //这个函数返回一个或更多用空格隔开的要增加的样式名。

        //接收index 参数表示元素在匹配集合中的索引位置和html 参数表示元素上原来的 HTML 内容


        //找到所有的div,然后通过addClass设置颜色,根据返回的className的判断,

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


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

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

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

                $(this).addClass('imoocClass')   

            }

        });

    </script>


正在回答

3 回答

课程中这个写法不标准

应该用

return 'imoocClass' 来代替那句 $(this).addClass('imoocClass')

才对

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

qq_妳若是夢我願長眠_0

结果不都一样吗
2018-08-15 回复 有任何疑惑可以回复我~

楼上说的最后一句是错的,$("div[className='imooc']").addClass("imoocClass"),首先这里的div没有className属性,其次,人家的值也不是imooc,所以不能用 =

应该是$("div[class*='imooc']").addClass("imoocClass") 或者是 $("div[class~='imooc']").addClass("imoocClass")

最后 我想说的是 那些给他点赞的人,你们只是看而不去实际写一下看效果吗?

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

function(index,className) {


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

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

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

                $(this).addClass('imoocClass')   

            }

        }

index 和className 不用管 这是jQuery中的默认值 。className.indexOf('imooc')这句 判断传入的className中‘’imooc’首次的位置,如果没有 则会返回-1.  如果不等于-1 说明div的className中有imooc 这时给它添加上一个新的className  ‘’imoocClass‘’

$("div").addClass(function(index,className){...}与$("div[className='imooc']").addClass("imoocClass")功能一样

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

举报

0/150
提交
取消

同学们,解释一下这句话的意思,没太明白

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