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

来源:3-4 jQuery的属性与样式之增加样式.addClass()

690017359

2017-09-08 17:32


    <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回答

  • 慕粉1503299742
    2018-08-08 02:10:34

    课程中这个写法不标准

    应该用

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

    才对

    qq_妳若是...

    结果不都一样吗

    2018-08-15 16:23:07

    共 1 条回复 >

  • 冷寒轩111
    2018-01-11 00:21:58

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

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

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

  • 艾零
    2017-09-09 11:18:35

    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")功能一样

jQuery基础 (一)—样式篇

jQuery初入开启样式修炼,体验万能的jQuery样式集搭建网站布局

217509 学习 · 1218 问题

查看课程

相似问题