在JS的开发过程中,经常会遇到这种问题,我们想要的效果是鼠标划过哪个<li>就获取哪个</li>的下标,可结果却一直是“4”。

看似没有问题的代码却偏偏不按照自己的思维走,这样的原因是onmouseover调用事件函数时,i已经在for循环里面循环完,已经成为了4。下面列出三种解决方法:
、One

这种方法是最长使用的方法,原理就是利用了JS的闭包。
、Two

此方法是用了一个自定义属性,完美解决!
、Three

传参,处理页面多个事件时可是使用此方法!
在JS的开发过程中,经常会遇到这种问题,我们想要的效果是鼠标划过哪个<li>就获取哪个</li>的下标,可结果却一直是“4”。
看似没有问题的代码却偏偏不按照自己的思维走,这样的原因是onmouseover调用事件函数时,i已经在for循环里面循环完,已经成为了4。下面列出三种解决方法:
这种方法是最长使用的方法,原理就是利用了JS的闭包。
此方法是用了一个自定义属性,完美解决!
传参,处理页面多个事件时可是使用此方法!
本文标题:JavaScript for循环元素取下标问题
本文链接:https://www.haomeiwen.com/subject/ongwyttx.html
网友评论