<!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(){
???? ??hightLight()
??????}
?????//?鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
?????function?hightLight(){???
?????var?trs?=?document.getElementsByTagName("tr");
?????for(var?i=0;i<trs.length;i++){
?trs[i].onmouseover=function(){
?this.style.backgroundColor="#f2f2f2";
?}
?trs[i].onmouseout=function(){
?this.style.backgroundColor="#fff";
? ?}
????? }
?????}
?????
?????//?創建刪除函數
?????function?deleteRow(obj){
???? ?var?tbody=document.getElementById("table").lastChild;
???? ?var?tr=obj.parentNode.parentNode;
???? ?tbody.removeChild(tr);
?????}
?????
??????//?編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
?????function?addRow(obj){
???? ??var?tbody=document.getElementById("table");
???? ??var?tr?=?document.createElement("tr");
???? ??
???? ??var?tnum?=?document.createElement("td");
???? ??tnum.innerHTML="<input?type='text'/>";
???? ??tr.appendChild(tnum);
???? ??
???? ??var?tname?=?document.createElement("td");
???? ??tname.innerHTML="<input?type='text'/>";
???? ??tr.appendChild(tname);
???? ??
???? ??var?tdel?=?document.createElement("td");
???? ??tdel.innerHTML="<a?href='javascript:;'?onclick='deleteRow(this)'>刪除</a>";
???? ??tr.appendChild(tdel);
???? ??
???? ??tbody.appendChild(tr);
???? ??hightLight();
??????}
???
??</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>
<td>xh002</td>
<td>劉小芳</td>
<td><a?href="javascript:;"?onclick="deleteRow(this)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
???</tr>??
???</table>
???<input?type="button"?value="添加一行"?onclick="addRow()"?/>???<!--在添加按鈕上添加點擊事件??-->
?</body>
</html>
2017-03-19
26行 ? var?tbody=document.getElementById("table").lastChild;
33行??var?tbody=document.getElementById("table");????
22行的有lastChild,33行沒有,所以層級都不同,所以刪不掉,讓要層級對了就行了。
所以就在33行后面添加.lastChild;
2017-03-14
同樣問題,為什么
2017-03-13
我也是剛做完這個編程練習,做了好幾遍了,正在理解中,你的問題就是addRow(obj)的方法中,第一行獲取table的id,后面加一個.lastChild,就可以了。