Javascript进阶篇第九章最后一个编程的练习,该要一个怎么的思路,有点乱
编程练习
制作一个表格,显示班级的学生信息。
要求:
1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff
2. 点击添加按钮,能动态在最后添加一行
3. 点击删除按钮,则删除当前行
2016-07-13
<!DOCTYPE html> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> <script type="text/javascript"> num = 0; window.onload = function(){ // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 var table = document.getElementById("table"); var trs= table.childNodes[1].childNodes; for(var i =0;i<trs.length;i++){ if(trs[i].nodeType == 1){ num +=1; addmouse(trs[i]); } } } function addmouse(tr){ tr.onmouseover=function(){this.style.background='#f2f2f2'}; tr.onmouseout=function(){this.style.background='#fff'}; } // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点; function add_line(){ var table = document.getElementById("table"); var newnode = document.createElement("tr"); var newtd = document.createElement("td"); newtd.innerHTML = "xh"+num; newnode.appendChild(newtd); var newtd = document.createElement("td"); newtd.innerHTML = "name"+num; newnode.appendChild(newtd); var newtd = document.createElement("td"); var newa=document.createElement("a"); newa.href = "#"; newa.onclick=function(){deltr(this);}; newa.innerHTML = "删除" newtd.appendChild(newa); newnode.appendChild(newtd); addmouse(newnode); table.appendChild(newnode); num += 1; } function deltr(a){ tr = a.parentNode.parentNode; //alert(tr.innerHTML); x = tr.parentNode.removeChild(tr); x=null; num -= 1; } </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="#" onclick="deltr(this)">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="#" onclick="deltr(this)" >删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table> <input type="button" value="添加一行" onclick="add_line()"/> <!--在添加按钮上添加点击事件 --> </body> </html>
举报