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

两者之间有何区别?

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

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

            //找到类名中包含了imooc的元素
            if(-1 !== className.indexOf('imooc')){
                //this指向匹配元素集合中的当前元素
                $(this).addClass('imoocClass')
            }
        });

1和2之间有什么区别,不都是添加一个新的样式吗?那为什么要用2这个复杂的呢


提问者:唯尔半截湘妃 2016-08-23 22:26

个回答

  • salody
    2016-08-24 01:26:24
    已采纳

    举个例子你就懂了。有这样一个html

    <ul>
          <li>Hello</li>
          <li>Hello</li>
          <li>Hello</li>
    </ul>

    你想给每个li加入classname。而且class不同,但是又有与index相关联的部分

    $('ul li').addClass(function(index) {
      return 'item-' + index;
    });

    用上面的代码给li加上classname,你可以尝试看看结果是什么样子的.

    详细的你可以查看jQuery的API对于这个的描述:

    .addClass()