如何getElementsByTagName()函数获得的数组传this??

   有3个<img>标签

   用:  var imgs=document.getElementsByTagName('img')获得了一个数组

     然后想用onmouseover改变它的透明度

    for(var i=0;i<imgs.length;i++){
     imgs[i].onmouseover=startMove(this,100) ;  

    }

      就是上面加粗倾斜的那一部分,需要获得每一个imgs[i]的opacity属性,所以想着传每一个的this,在函数中用this.style.opacity,但是操作中无法实现。

    求指教!

Phan_Tom
浏览 2165回答 3
3回答

yeheyt

把mouseover事件委托给img的父元素 function getAttr(obj,attr){ return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,null)[attr]; }用上面这个获取当前的opacity

甫里

for遍历是个坑。你现在的This应该指的是imgs[imgs.length-1]这个对象。而不是每个img对象,for(var i=0;i<imgs.length;i++){    img[i].this=this;     imgs[i].onmouseover=startMove(this,100) ;      }这样应该可以了~你可以试试
打开App,查看更多内容
随时随地看视频慕课网APP