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

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

為什么在刪除的時候會出現 Uncaught TypeError: Cannot read property 'parentNode' of undefined

<!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 tagname1? ?=? ? document.getElementsByTagName("tr")

? ? ?// 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。

? ? ? ? for(var i=0;i<tagname1.length;i++)

{

colorchange(tagname1[i]);

}

}

? ? ?function colorchange(obj){

? ? obj.onmouseover=function(){

? ? obj.style.backgroundColor = "#f2f2f2";

? ? }

? ? obj.onmouseout=function(){

? ? obj.style.backgroundColor = "#fff";

? ? }

}

? ? ?

? ? ? // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;

? ? ?var num=2;

? ? ?function add(){

? ? ?

? ? ? ? var tr1 = document.createElement("tr");

? ? ? ? var xh? = document.createElement("td");

? ? ? ? var xm? = document.createElement("td");

? ? ? ? var cz? = document.createElement("td");

? ? ? ? xh.innerHTML = "xh00"+ ++num;

? ? ? ? xm.innerHTML = xh.innerHTML+"人";

? ? ? ? cz.innerHTML = "<a href = 'javascript:deletelast(this)'>刪除</a>"

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

? ? ? ? tab.appendChild(tr1);

? ? ? ? tr1.appendChild(xh);

? ? ? ? tr1.appendChild(xm);

? ? ? ? tr1.appendChild(cz);

? ? ? ? var tagname2 = document.getElementsByTagName("tr");

? ? ? ? for(var i=0;i<tagname2.length;i++){

? ? ? ? colorchange(tagname2[i]);

? ? ? ? }

? ? ?}

? ?

? ? ?

? ? ?// 創建刪除函數

? ? ?function deletelast(obj){

? ? ? ? ?var table = document.getElementById('table').lastChild;

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

? ? ? ? ? ? table.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:deletelast(this);" >刪除</a></td>? ?<!--在刪除按鈕上添加點擊事件? -->

? ?</tr>


? ?<tr>

<td>xh002</td>

<td>劉小芳</td>

<td><a href="javascript:deletelast(this);" >刪除</a></td>? ?<!--在刪除按鈕上添加點擊事件? -->

? ?</tr>??


? ?</table>

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

?</body>

</html>


正在回答

1 回答

function deletelast(obj){

? ? ? ? ?var table = document.getElementById('table').lastChild;

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

? ? ? ? ? ? table.removeChild(tr);

? ? ?}

你的刪除函數里table指的是“table”標簽的最后一個子節點,實際上也是一個“tr"標簽,而removeChild是刪除子節點,你的table和tr是同級的tr標簽,所以會出錯


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

舉報

0/150
提交
取消

為什么在刪除的時候會出現 Uncaught TypeError: Cannot read property 'parentNode' of undefined

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

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

幫助反饋 APP下載

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

公眾號

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