这样写就是闭包的结果,除非拆开来,一个一个写,不用for循环。

解决方案 »

  1.   

    大概可以这样
    <style type="text/css">
    .gg{ width:100px; height:100px; background-color:#00FF00; border:1px solid #000000}
    </style>
    <body>
    </body>
    <script>
    for(var i=0;i<6;i++){
    var div=document.createElement("div")
    var a=i
    div.className="gg"
    div.onmouseover = (function(event, a){
    return function(){
    ss(event, a);
    }
    })(event, a);
    document.body.appendChild(div)}
    function ss(e,h){alert(h)}
    </script>
      

  2.   


    for(var i=0;i<6;i++){
    var div=document.createElement("div");
    div.className="gg";
    (function (i){ div.onmouseover=function(event){ss(event,i)} })(i);
    document.body.appendChild(div)}
    function ss(e,h){alert(h)}我想最大的问题是lz没有写分号