ChenBugBug
2016-04-19 22:46
<script type="text/javascript"> 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"; } } // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点; var num=2; function add(){ num++; var tr=document.createElement("tr"); var xh=document.createElement("td"); var xm=document.createElement("td"); xh.innerHTML="xh00"+num; xm.innerHTML="第"+num+"学生"; var del=document.createElement("td"); del.innerHTML="<a href='javascript:;' onclick='del(this)' >删除</a>"; var tab=document.getElementById("table"); tab.appendChild(tr); tr.appendChild(xh); tr.appendChild(xm); tr.appendChild(del); var tr = document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } } // 创建删除函数 function del(obj) { var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); } //以上是别人的整段代码 1、 window.onload = function(){ var tr=document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } 这部分不理解,为什么用window.onload与循环,不理解是什么意思 2、 var tr = document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } } add()函数中加的这个是什么意思? 写着似乎明白了; 1是在加载时为现有的加上bgcChange();而新加的行并不具备bgcChange(),所以有了2?????? 是这样吗??
window.onload是在窗口加载完后调用函数。
循环是使所有获取到的tr依次调用改变背景色的函数。
var tr=document.getElementsByTagName("tr");得到的是一个类似数组的tr集合。
JavaScript进阶篇
468782 学习 · 22507 问题
相似问题