imgs = document.getElementsByTagName("img");
        for(var i = 0; i< imgs.length; i++){
            
            var src = imgs[i].attributes["src"].value;
            imgs[i].onclick = function(){ abc(src);};
        }亲们,这个怎么解决,我想要点击不同的图片传进去,不同图片的src,结果现在这个,每次图片的点击事件,都传进去最后一张图片的src

解决方案 »

  1.   


    imgs = document.getElementsByTagName("img");
    for(var i = 0; i< imgs.length; i++){    
    var src = imgs[i].attributes["src"].value;
    (function(_src){
    imgs[i].onclick = function(){ console.log(_src);};
    })(src);
    }
      

  2.   


        imgs = document.getElementsByTagName("img");
        for (var i = 0; i < imgs.length; i++) {        //var src = imgs[i].attributes["src"].value;
            imgs[i].onclick = function () { alert(this.src); };
        }
      

  3.   

    天天都有这种问题
    为什么不变通一下 闭包很难么 非要用闭包么
    for循环的时候给一个属性 在里面不就能取了么 很容易啊
    EG:
    var oImg = null;
    for(var i = 0; i< imges.length; i++){
      oImg.index = i;
      oImg.onclick = function(){ alert(this.index)};
    }