<!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() { changecolor(); } function changecolor() { var tbody = document.getElementById("table").lastChild; row = tbody.getElementsByTagName("tr"); for(var i =1;i<row.length;i++) { row[i].onmouseover = function() { this.style.backgroundColor="#F2F2F2"; } row[i].onmouseout = function() { this.style.backgroundColor="#fff"; } } } // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 function addrow(e) { var tbody = document.getElementById("table").lastChild; var tr = document.createElement("tr"); var td = document.createElement("td"); td.innerHTML = "<input type='text'>"; tr.appendChild(td); td = document.createElement("td"); td.innerHTML = "<input type='text'>"; tr.appendChild(td); td = document.createElement("td"); td.innerHTML = "<a href='javascript:;' onclick='deleterow()'>删除</a>" tr.appendChild(td); tbody.appendChild(tr); changecolor(); } // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点; function deleterow(tx) { var tbody = document.getElementById("table").lastChild; var tr = tx.parentNode.parentNode; tbody.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:;" onclick="deleterow()" >删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="deleterow()" >删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table> <input type="button" value="添加一行" onclick="addrow()" /> <!--在添加按钮上添加点击事件 --> </body> </html>
为什么删除函数里面是var tbody = document.getElementById("table").lastChild;而不是var tbody = document.getElementById("table")?想很久了,求解救啊 ,实在不理解这里面的节点关系
<!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(){
changecolor();
}
function changecolor()
{
var tbody = document.getElementById("table").lastChild;
row = tbody.getElementsByTagName("tr");
for(var i =1;i<row.length;i++)
{
row[i].onmouseover = function()
{
this.style.backgroundColor="#F2F2F2";
}
row[i].onmouseout = function()
{
this.style.backgroundColor="#fff";
}
}
}
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
function addrow(e)
{
var tbody = document.getElementById("table").lastChild;
var tr = document.createElement("tr");
var td = document.createElement("td");
td.innerHTML = "<input type='text'>";
tr.appendChild(td);
td = document.createElement("td");
td.innerHTML = "<input type='text'>";
tr.appendChild(td);
td = document.createElement("td");
td.innerHTML = "<a href='javascript:;' onclick='deleterow()'>删除</a>"
tr.appendChild(td);
tbody.appendChild(tr);
changecolor();
}
// 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
function deleterow(tx)
{
var tbody = document.getElementById("table").lastChild;
var tr = tx.parentNode.parentNode;
tbody.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:;" onclick="deleterow(this)" >删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
<tr><p></p>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:;" onclick="deleterow(this)" >删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
</table>
<input type="button" value="添加一行" onclick="addrow()" /> <!--在添加按钮上添加点击事件 -->
</body>
</html>
代码我给你改了,可以删除了。。