jQuery的$(this).index()
来源:2-1 鼠标事件-click、dblclick
rayyli
2020-09-08 18:48:35
<!DOCTYPE html> <html lang="en"> <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 () { // console.log($(this)); $('div').eq($(this).index() - 1).css({'text-indent': '0px'}); }); </script> </body> </html>
$(this).index()为何不是从第一个元素开始的?
1回答
同学你好,代码效果实现是正确的,针对同学的问题解答如下:
$(this)指向的是被点击的div元素,$(this).index()是获取被点击的div元素在兄弟元素中的索引。
因为在html结构中,div前面有一个同级元素h1,所以是从h1开始计算索引的,并不是从第一个div开始计算索引的。示例:
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题