码迷,mamicode.com
首页 > 其他好文 > 详细

点击一个ul的五个li元素,分别弹出他们的序号,怎么做?

时间:2019-02-15 20:04:47      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:执行函数   元素   lis   改变   on()   外部   length   ret   onclick   

方法1 : 
for(var i=0; i<oLis.length; i++){
    oLis[i].onclick = (function(j){
        return function(){
            alert(j);
        }
    })(i);
}
这样的话, 给每个li绑定onclick事件时, 其实绑的是一个立即执行函数, 这个立即执行函数的参数是i, 因为它是立即执行的, 循环时已经把i的值赋给了li的onclick事件, 所以在外部函数里的i改变后并不会影响i的值.

另一种实现方法:(立即执行函数)

for(var i=0; i<oLi.length; i++){
    (function(j){
        oLi[j].onclick = function(){
            alert(j);
        };
    })(i);
}

点击一个ul的五个li元素,分别弹出他们的序号,怎么做?

标签:执行函数   元素   lis   改变   on()   外部   length   ret   onclick   

原文地址:https://www.cnblogs.com/shiyunfront/p/10385399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!