制作一个表格,显示班级的学生信息。
要求:
1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff
2. 点击添加按钮,能动态在最后添加一行
3. 点击删除按钮,则删除当前行
第一步: 首先,我们创建删除函数,并在删除按钮上添加点击事件;
提示: 使用removeChild()。
第二步: 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
提示: 使用createElement()、innerHTML、appendChild()。
第三步: 更改鼠标移动改变背景则可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
提示: 1. 获取表格的行,getElementsByTagName 。 2. 使用for进行循环,为每行添加事件及背景颜色设置。
<!DOCTYPE html> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type="text/javascript"> window.onload = function(){ var tr = document.getElementsByTagName(‘tr‘); for(var i=0;i<tr.length;i++){ changeColor(tr[i]); } } function changeColor(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 td1 = document.createElement(‘td‘); var td2 = document.createElement(‘td‘); var td3 = document.createElement(‘td‘); td1.innerHTML = ‘xh00‘+num; td2.innerHTML = ‘第‘+num+"位学生"; td3.innerHTML = "<a href=‘javascript:;‘ onclick=‘del(this)‘>删除</a>"; var table = document.getElementById(‘table‘); table.appendChild(tr); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); var tr = document.getElementsByTagName(‘tr‘); for(var i=0;i<tr.length;i++) { changeColor(tr[i]); } } // 创建删除函数 function del(x){ //此处不能写成remove(x),js中remove()方法用于从下拉列表删除选项。 var tr = x.parentNode.parentNode; tr.parentNode.removeChild(tr); } </script> </head> <body> <center> <table border="1" width="50%" id="table" style="text-align:center"> <tr> <th>学号</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;" onclick="del(this)">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="del(this)">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table><br> <input type="button" value="添加一行" onclick="add()" /> <!--在添加按钮上添加点击事件 --> </center> </body> </html>
时间: 2024-10-24 23:02:37