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"; } } 问题1: window.onload = function(){ var tr=document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } 这里的 bgcChange(tr[i]);是什么意思? 这一段的代码 - -没理解。前面的for循环 感觉是把每一个tr装到 bgcChange(tr[i]);这里、可这个东西是哪里来的? 问题2: function bgcChange(obj) { obj.onmouseover=function(){ obj.style.backgroundColor="#f2f2f2"; } obj.onmouseout=function(){ obj.style.backgroundColor="#fff"; } function bgcChange(obj) 这里跟刚才第一段代码里的 bgcChange(tr[i]),有什么关联 吗 为什么?
1、document.getElementByTagName("tr")返回的是一个包含所有tr标签的数组;bgcChange(tr[i])就是数组第i个元素传给bgcChange函数;2、 bgcChange(tr[i])是对bgcChange函数的调用,将tr[i]代替obj;
我记得先声明函数再使用只有在C语言里才是必须的吧?