橡皮dog
2016-07-18 22:14
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++)
{
bgcChange(tr[i]);
}
}
function bgcChange(obj)
{
obj.onmouseover=function(){
obj.style.backgroundColor="#f2f2f2";
}
obj.onmouseout=function(){
obj.style.backgroundColor="#fff";
}
}
把tr[i].style.backgroundColor="#f2f2f2";里的tr[i]改成this就可以了,因为当前对象就是tr[i],在当前对象里使用本对象只能用this,用tr[i]的话肯定就是undefined的了。以上纯属个人见解
同问同问同问同问
第七行 funciton 拼错了 - -! function
JavaScript进阶篇
469062 学习 · 22582 问题
相似问题