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

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

幫我看看哪里出錯????

<!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(){
??????????????????
?????//?鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
?????????
?????????var?gettr?=?document.getElementsByTagName("tr");
?????????for(var?i=0;i<gettr.length;i++)
?????????{
?????????????gettr[i].onmouseout=function(){this.style.backgroundColor="#fff";}
?????????????gettr[i].onmouseover=function(){this.style.backgroundColor="#f2f2f2";}
?????????}

?????}
?????
??????//?編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
?????function?addRow()
?????{
?????????var?getRowP?=?document.getElementsById("table");
?????????var?newRow?=?document.createElement("tr");
?????????for(var?i=0;i<2;i++)
?????????{
?????????????var?newtd[i]=document.createElement("td");??????????
??????????????newtd[i].innerHTML="<input?type?=?'text'?/>"
????????????newRow.appendChild(newts[i]);
?????????}
?????????
?????????getRowP.appendChild(newRow);
????????
?????}
????		
???	?
?????//?創建刪除函數
?????function?delRow(obj)
?????{
?????????var?getRowP?=?document.getElementById("table");
?????????var?tr?=?obj.parentNode.parentNode;
?????????getRowP.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="delRow(this)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
	???</tr>

	???<tr>
		<td>xh002</td>
		<td>劉小芳</td>
		<td><a?href="javascript:;"?onclick="delRow(this)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
	???</tr>??

	???</table>
	???<input?type="button"?value="添加一行"?onclick="addRow()"?/>???<!--在添加按鈕上添加點擊事件??-->
?</body>
</html>

哪里出錯???

正在回答

2 回答

//我有一個調試的經驗,你先把其它的函數注釋掉,留下一個函數;一個一個的調。這兒我調試了一下刪除函數。

//我一行一行加?alert("hello") 發現? getRowP.removeChild(tr);執行不了,看代碼tr的父節點應該是getRowP,怎么回事呢?

//我測一下tr的父節點是不是getRowP,加了這一段

var ftr=tr.parentNode;

? ? ? ? ? ? alert(ftr) ;

? ? ? ? ? ?alert(ftr.isEqualNode(getRowP)) ;

結果是false,彈出ftr,顯示tablesection objection;這一點我也不知道為什么。讓var getRowP= ?obj.parentNode.parentNode.parentNode;結果就正常了。希望能對你有幫助。

//


function delRow(obj)

? ? ?{

? ? ? ?

? ? ? ? var getRowP ?= document.getElementById("table");

? // ? ? ? var getRowP= ?obj.parentNode.parentNode.parentNode;

? ? ? ? ?var tr = obj.parentNode.parentNode;

/* ? ? ? ?{

? ? ? ? ? ? var ftr=tr.parentNode;

? ? ? ? ? ? alert(ftr) ;

? ? ? ? ? ?alert(ftr.isEqualNode(getRowP)) ;

? ? ? ? }

*/

? ? ? ? ?getRowP.removeChild(tr);

? ? ? ??

? ?// ? ? ? alert("hello") ;

? ? ?}


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

ry836478606 提問者

謝謝啊,有時候真的很懵逼,感覺沒寫錯啊,,就這樣出不來,花在調試的時間都比寫的時間多
2016-03-28 回復 有任何疑惑可以回復我~

我給你指出錯誤代碼的地方,和改正方法:

59:a href="javascript:;"onclick="delRow(this)"?? onclick前面缺少空格

然后是你的addraw有問題:var 對象是不能對一個數組進行循環插入的(不確定)? 這個你可以私下嘗試,用for循環進行循環創建不提倡。

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

舉報

0/150
提交
取消

幫我看看哪里出錯????

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

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

幫助反饋 APP下載

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

公眾號

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