690017359
2017-09-08 17:32
<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>
课程中这个写法不标准
应该用
return 'imoocClass' 来代替那句 $(this).addClass('imoocClass')
才对
楼上说的最后一句是错的,$("div[className='imooc']").addClass("imoocClass"),首先这里的div没有className属性,其次,人家的值也不是imooc,所以不能用 =
应该是$("div[class*='imooc']").addClass("imoocClass") 或者是 $("div[class~='imooc']").addClass("imoocClass")
最后 我想说的是 那些给他点赞的人,你们只是看而不去实际写一下看效果吗?
function(index,className) {
//找到类名中包含了imooc的元素
if(-1 !== className.indexOf('imooc')){
//this指向匹配元素集合中的当前元素
$(this).addClass('imoocClass')
}
}
index 和className 不用管 这是jQuery中的默认值 。className.indexOf('imooc')这句 判断传入的className中‘’imooc’首次的位置,如果没有 则会返回-1. 如果不等于-1 说明div的className中有imooc 这时给它添加上一个新的className ‘’imoocClass‘’
$("div").addClass(function(index,className){...}与$("div[className='imooc']").addClass("imoocClass")功能一样
jQuery基础 (一)—样式篇
217509 学习 · 1218 问题
相似问题