把函数匹配字符改写成“ass”后,为何会是newClass两个方格变红???

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

qq_一米小光_0

2017-08-24 09:27

<!DOCTYPE html>

<html>


<head>

    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

    <title></title>

    <style>

    .left,

    .right {

        width: 300px;

        height: 120px;

    }

    

    .left div,

    .right div {

        width: 100px;

        height: 60px;

        padding: 5px;

        margin: 10px;

        float: left;

        border: 1px solid #ccc;

    }

        

    .newClass{

        background: #bbffaa;

    }


    .imoocClass{

        background: red;

    }


    </style>

    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>

</head>


<body>

    <h2>.addClss()方法</h2>

    <div class="left">

        <div class="aaron">

            <p>newClass</p>

        </div>

        <div class="aaron">

            <p>newClass</p>

        </div>

    </div>

    <div class="right">

        <div class="aa bb imooc">

            <article>

                <p>imoocClass</p>

            </article>

        </div>

        <div class="bb cc imooc ">

            <article>

                <p>imoocClass</p>

            </article>

        </div>

    </div>


    <script type="text/javascript"> 

        //class=left下div元素增加一个新的样式,增加背景颜色

        $('.left div').addClass('newClass')

    </script>


    <script type="text/javascript"> 

    

        //通过className(fucntion)方法

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

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


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

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


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

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

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

                $(this).addClass('imoocClass')

            }

        });

    </script>




</body>


</html>


写回答 关注

1回答

  • Sen丶dream
    2017-08-25 12:19:09

    添加的是类名 查找的也是类名

    原来前两个方格的类名是aaron

    $('.left div').addClass('newClass')

    在执行上述语句后变为aaron newClass

    所以前两个变红

    风飘叶摇

    楼上正解,看了它这个问题我也迷糊了下,谢谢楼上。

    2017-11-13 22:57:43

    共 1 条回复 >

jQuery基础 (一)—样式篇

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

217507 学习 · 1218 问题

查看课程

相似问题