题目不知道怎么说,运行HTML就知道了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <div id="pager">
    </div>
    <script>
        var pager = document.getElementById("pager");
        for (var i = 0; i <= 4; i++) {
            var a = document.createElement("a");
            a.href = "?pager=" + i;
            a.innerHTML = i;
            a.onclick = function() {
                alert(i);
                return false;
            };
            pager.appendChild(a);
        }
    </script>
</body>
</html>这里点击每个a都是显示5,我知道是因为i到最后已经为5了,
那我这里怎么实现点击每一个都是他自己的数字呢。
PS:不要给我的a再加属性谢谢

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <div id="pager">
        </div>
        <script>
            var pager = document.getElementById("pager");
            for (var i = 0; i <= 4; i++) {
                var a = document.createElement("a");
                a.href = "?pager=" + i;
                a.innerHTML = i;
    (function(){
      var temp=i;
                a.onclick =  function() {
      alert(temp);
                    return false;
                }})();
                pager.appendChild(a);
            }
        </script>
    </body>
    </html>
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <div id="pager">
        </div>
        <script>
            var pager = document.getElementById("pager");
            for (var i = 0; i <= 4; i++) {
                var a = document.createElement("a");
                a.href = "?pager=" + i;
                
                (function (j){

    if(document.all){//ie
    a.innerText = j;
    }else{
    a.appendChild(document.createTextNode(j));
    }
    a.onclick = function() {
                     alert(j);
                     return false;
    }
                })(i);
                pager.appendChild(a);
            }
        </script>
    </body>
    </html>
      

  3.   

    就是closure的问题
    换个跟楼上不一样的方式<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <div id="pager">
        </div>
        <script>
            var pager = document.getElementById("pager");
            for (var i = 0; i <= 4; i++) {
                var a = document.createElement("a");
                a.href = "?pager=" + i;
                a.innerHTML = i;
                a.onclick = new Function('alert(' + i + ');return false')
                pager.appendChild(a);
            }
        </script>
    </body>
    </html>