为什么for循环中直接使用tr[i]不可以,而将onmouseover等包含到一个函数中调用就可以了?(详情见下面代码)
方式1(无法实现好的效果):
window.onload = function(){
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
var tr = document.getElementsByTagName("tr");
for(var i = 0; i < tr.length; i++)
{
tr[i].onmouseover=function()
{
tr[i].style.backgroundColor = "#f2f2f2";
}
tr[i].onmouseout=function()
{
tr[i].style.backgroundColor = "#fff";
}
}
}
方法二(可以实现):
window.onload = function(){
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
var tr = document.getElementsByTagName("tr");
for(var i = 0; i < tr.length; i++)
{
ch(tr[i]);
}
function ch(obj)
{
obj.onmouseover=function()
{
obj.style.backgroundColor = "#f2f2f2";
}
obj.onmouseout=function()
{
obj.style.backgroundColor = "#fff";
}
}
}