遇到闭包问题解决1

来源:互联网 发布:淘宝客怎么贷款 编辑:程序博客网 时间:2024/05/22 11:30

闭包问题代码如下:

<ul id="gallery">    <li>        <a href="#">dfdh1</a>    </li>    <li>        <a href="#">dfdh2</a>    </li>    <li>        <a href="#">dfdh3</a>    </li>    <li>        <a href="#">dfdh4</a>    </li></ul><script type="text/javascript">    var gallery=document.getElementById("gallery");    var links=gallery.getElementsByTagName("a");    for(var i = 0; i < links.length; i++){            links[i].onclick = function () {                alert(i);            }    }</script>

不管点击那个链接弹出来的都是4,


解决方法:

 <script type="text/javascript">        var gallery=document.getElementById("gallery");        var links=gallery.getElementsByTagName("a");        for(var i = 0; i < links.length; i++){            (function (i){                links[i].onclick = function (){                    alert(i);                };            })(i);  //立即执行函数        }    </script>




0 0
原创粉丝点击