为了账号安全,请及时绑定邮箱和手机立即绑定

求教几个HTML问题。纠结好几天了,真的百思不得姐啊

求教几个HTML问题。纠结好几天了,真的百思不得姐啊

Sprash 2016-03-14 20:49:22
这是一段慕课上前端教程的编程练习的同学代码,代码目的是做一个表格,可以点添加添加表格,点删除删除那一行,然后移动鼠标对应行会变色看了这段代码,我有了几个问题,1,window.onload必须家吗,2,在添加列表的函数处。         tr.appendChild(td2);         tr.appendChild(td3);          var addrow = document.getElementById("table").lastChild;          var obj=addrow.appendChild(tr);为什么要加入到table的最后的子元素处?他最后的子元素是什么。<!DOCTYPE html><html> <head>  <title> new document </title>    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>     <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(tr1)          {              tr1.onmouseover=function(){                  tr1.style.backgroundColor="#f2f2f2";              }              tr1.onmouseout= function () {                  tr1.style.backgroundColor="#fff";              }          }           // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;      function addROW(){          var xh=prompt("输入学号");          var xm=prompt("输入姓名");          if(xh!=null&&xh!=""&&xm!=null&&xm!="")          {          var tr = document.createElement("tr");          var td1 = document.createElement("td");          var td2 = document.createElement("td");          var td3 = document.createElement("td");          td1.innerHTML=xh;          td2.innerHTML=xm;          td3.innerHTML="<a href='javascript:deleteROW(this);' >删除</a>";         tr.appendChild(td1);         tr.appendChild(td2);         tr.appendChild(td3);          var addrow = document.getElementById("table").lastChild;          var obj=addrow.appendChild(tr);          //新添加的tr也能执行此函数             bgcChange(obj);          }          else alert("姓名学号不可以为空!");      }                   // 创建删除函数     function deleteROW(obj){       var tb=obj.parentNode.parentNode.parentNode;         var tr=obj.parentNode.parentNode;         tb.removeChild(tr);              }       </script>  </head>  <body>    <table border="1" width="50%" id="table">   <tr> <th>学号</th> <th>姓名</th> <th>操作</th>   </tr>     <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:deleteROW(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->   </tr>   <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:deleteROW(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->   </tr>     </table>   <input type="button" value="添加一行" onclick="addROW()" />   <!--在添加按钮上添加点击事件  --> </body></html>
查看完整描述

1 回答

已采纳
?
無訴離殤

TA贡献4条经验 获得超2个赞

window.onload的意思你可以百度一下,意思差不错是等页面加载完毕之后再加载内部的js,写在页面前面是有必要加上的

查看完整回答
反对 回复 2016-03-15
  • 1 回答
  • 0 关注
  • 1879 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信