亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

運行add命令后,delete命令失效,找不出來bug在哪里

<!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>


正在回答

3 回答

26行 ? var?tbody=document.getElementById("table").lastChild;

33行??var?tbody=document.getElementById("table");????

22行的有lastChild,33行沒有,所以層級都不同,所以刪不掉,讓要層級對了就行了。

所以就在33行后面添加.lastChild;

0 回復 有任何疑惑可以回復我~
#1

Resen4983 提問者

非常感謝!
2017-03-20 回復 有任何疑惑可以回復我~

同樣問題,為什么

0 回復 有任何疑惑可以回復我~

我也是剛做完這個編程練習,做了好幾遍了,正在理解中,你的問題就是addRow(obj)的方法中,第一行獲取table的id,后面加一個.lastChild,就可以了。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

運行add命令后,delete命令失效,找不出來bug在哪里

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號