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

if(-1 !== className.indexOf('imooc')){}为什么是-1啊???

<!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: 90px;

        padding: 5px;

        margin: 5px;

        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('imooc')){

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

                $(this).addClass('imoocClass')

            }

        });

    </script>




</body>


</html>

  if(-1 !== className.indexOf('imooc')){}为什么是-1啊???

提问者:慕仰6690464 2016-03-15 16:04

个回答

  • 維命
    2016-03-15 17:06:53
    已采纳

    $("div")是获取所有的div,然后通过函数进行判断,如果类名包含imooc的元素,为其追加类名啊

  • Vayne丿milk
    2018-05-08 16:42:44

    如果要检索的字符串值没有出现,则该方法返回就用 -1

  • 維命
    2016-03-15 16:24:48

    .indexOf()方法是用来检验是否包含该字符串的,等于-1就是不包含imooc,反之就是包含imooc字符串被