为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我用row[i].style.backgroundColor没反应,只能用this.style.backgroundColor

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

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

  row[i].onmouseover=function(){

 row[i].style.backgroundColor = "#ccc";

}

上面的运行不出结果,只有把   row[i].style.backgroundColor = "#ccc"; 改成

this.style.backgroundColor = "#ccc"; 才能出结果。

为什么啊。row[i]取得不是每一行的对象吗?


正在回答

3 回答

我觉得把划过写到for外面试试,因为他未必知道你划过的是哪个

0 回复 有任何疑惑可以回复我~

感谢你提出的问题,帮我解决了大忙了~

0 回复 有任何疑惑可以回复我~

我觉得可能是i在后面写的函数中是不可见的,只能通过传递参数的方式,告诉函数row的第几个,所以用this比较直接

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我用row[i].style.backgroundColor没反应,只能用this.style.backgroundColor

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信