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

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

慕仰6690464

2016-03-15 16:04

<!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啊???

写回答 关注

3回答

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

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

    小季乐乐44...

    我再详细补充一下:indexOf这个方法如果找到就返回1,如果找不到就返回-1,使用if判断如果className.indexOf('imooc')不等于-1就找到了,就添加样式

    2019-03-01 20:31:30

    共 2 条回复 >

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

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

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

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

    qq_一米阳... 回复438646...

    跟我想的一样找到答案了吗,同学知道了的话跟我说说

    2017-09-19 11:28:20

    共 4 条回复 >

jQuery基础 (一)—样式篇

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

217509 学习 · 1218 问题

查看课程

相似问题