慕粉8816468
2017-08-13 22:32
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]取得不是每一行的对象吗?
我觉得把划过写到for外面试试,因为他未必知道你划过的是哪个
感谢你提出的问题,帮我解决了大忙了~
我觉得可能是i在后面写的函数中是不可见的,只能通过传递参数的方式,告诉函数row的第几个,所以用this比较直接
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题