猿问

这段代码有什么问题 运行不了

    window.onload = function(){

         var tr =document.getElementsByTagName("tr");

         for (var i = 0; i < tr.length; i++) {

                 tr[i].addEventListener("mouseover",function(){tr[i].style.color="red"},false);

                 tr[i].addEventListener("mouseout",function(){tr[i].style.color=""},false);

}



甫里
浏览 1774回答 5
5回答

qq_冲哥_0

function(){tr[i].style.color="red"}   改成 this.style.color ='red';你这么写涉及到JS的闭包问题。 function(){tr[i].style.color="red"} 是一个闭包,如果它与包含它的函数引用同一个变量 i,那么变量i 只能取得最后一个值 .你运行下面的函数可以看一下。tr[i].addEventListener("mouseover",function(){         alert(i); // i 永远等于 tr.length,就是 for 循环运行后, i取得最后一个值。 },false);

qq_青枣工作室_0

把 tr[i].style.color 改为 this.style.color

不知名的前端程序猴

最后少一个   }    啊,大兄弟

GoldX

后面少了个括号

qq___524

能不能把全部的代码贴过来?
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答