为了账号安全,请及时绑定邮箱和手机立即绑定

这个函数的问题

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

    if(-1 !== className.indexOf('imooc')){
                //this指向匹配元素集合中的当前元素
                $(this).addClass('imoocClass')
            }

})

这里indexOf代表的是imooc首次出现的位置!那么其中形参index  className是什么意思?还有className.indexOf()这里面的className是指$('div')这个对象集中的所有className的值的集合吗?  注释中还说this指当前元素,我的理解是第一次出现imooc的元素,同时给这个元素添加一个类名  可是效果为什么会有两个背景色为红色的盒子?

正在回答

2 回答

选择器$('div')是获取到所有div标签对象,然后对每个标签对象执行.addClass(function(index,className){……}),也就是查看每个div标签的className是否包含'imooc',如果包含,就再为这个标签增加一个值为'imoocClass'的新className。$(this)在这里是当前正在查看的div标签。

7 回复 有任何疑惑可以回复我~

  if(-1 !== className.indexOf('imooc'))意思是找到class名中有  imooc的,均给该元素添加新类 imoocClass,

并不是第一imooc出现  而是所有含有imooc。如果出现两个 ,说明你的html中有两个元素均有imooc的class名

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础 (一)—样式篇
  • 参与学习       217518    人
  • 解答问题       1216    个

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

进入课程

这个函数的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信