慕仰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啊???
$("div")是获取所有的div,然后通过函数进行判断,如果类名包含imooc的元素,为其追加类名啊
如果要检索的字符串值没有出现,则该方法返回就用 -1
.indexOf()方法是用来检验是否包含该字符串的,等于-1就是不包含imooc,反之就是包含imooc字符串被
jQuery基础 (一)—样式篇
217509 学习 · 1218 问题
相似问题