虽然写出来了,但是$(this).index()为什么这么写有点模糊了
来源:2-2 编程练习
CC陈十一
2019-03-20 18:53:31
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>点击事件</title>
<style type="text/css">
div {
float: left;
margin: 10px;
width: 100px;
height: 100px;
color: #fff;
font-size: 50px;
text-align: center;
line-height: 100px;
text-indent: -9999px;
background-color: #333;
}
</style>
</head>
<body>
<h1>添加事件处理</h1>
<div>43</div>
<div>21</div>
<div>56</div>
<div>16</div>
<div>89</div>
<div>94</div>
<div>46</div>
<div>26</div>
<div>67</div>
<div>90</div>
<div>25</div>
<div>10</div>
<div>84</div>
<div>76</div>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
//此处写代码
$('div').click(function(){
$('div').eq($(this).index()-1).css('text-indent','0');
})
</script>
</body>
</html>1回答
好帮手慕糖
2019-03-20
同学你好,$(this).index()是获取当前元素的索引,是从0开始的,但是这里把h标签也算上了,索引第一个div的索引就是1了,可以输出测试下哦,例:

或者可以写为,如下这种,只在div中选择不包括h1标签。

另,这里代码还可以再优化下哦,可以直接写$(this)即当前元素,例:

希望能帮助到你,欢迎采纳。
祝学习愉快!
相似问题