jquery--index()方法

来源:互联网 发布:电子印章软件 编辑:程序博客网 时间:2024/05/18 04:40

jquery中使用$()查找元素,会存在一些问题,原因就是dom对象跟jquery是存在一些差别的,直接上例子说明问题:

<ul><li class="out-li"><span class="sp">1111111</span></li><li class="out-li"><span class="sp">222222222</span></li><li class="out-li"><span class="sp">33333333</span></li></ul><script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script><script>$('.sp').click(function(){alert($(this).index())});</script>
如果用原生js的document.getELementsByClassName()做这样的事,点击对应的span会弹出0,1,2三个不同的索引值,但是这里无论点击那个span都会弹出0。

解决办法也简单,这个问题在于jquery是取的当前元素所在区域的索引,因为此时只有一个span所以索引值就是0。解决这个问题也简单,我们只要想办法取到li的索引不就解决问题了吗。jquery也提供了一个方法parent()用来获取上一级父元素,因此我们只要将$(this).index()改写为$(this).parent().index()就可以正常弹出索引值了。

希望本文能解决大家遇到的一些问题,如果有阐述不当的地方还请指正。

原创粉丝点击