$("div").addClass(function(index,className) {
//找到类名中包含了imooc的元素
if(-1 !== className.indexOf('imooc')){
//this指向匹配元素集合中的当前元素
$(this).addClass('imoocClass')
}
});
很乱,可以解释下吗
如函数funciton括号里的index classname代表什么意思,还有条件是什么意思
index就是传入$("div")找到的div的下标,className是index=index的div的类名的集合,然后采用str.indexOf(string)方法,判断这个类名的集合中是否包含有imooc这个类名,没有则返回-1。所以,如果返回的是-1,那么就是当前div没有imooc的这个类名,就不用给它添加imoocClass的类名;如果返回的不是-1,那么就给它添加imoocClass的类名。
不是说返回吧 那是看imooc的位置的 classname是每一次的名字 indexof 是看每一次classname imooc的位置。记住 classname 是每一个元素 类名的集合,不是 所有元素的集合
意思是如果找到了class类名包含imooc的,那么就给他添加一个名为imoocClass的类名!