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

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

9-22練習:刪除函數

function?deleteRow(obj){
????????????var?tr=obj.parentNode.parentNode;
????????????var?table=document.getElementById("table");
????????????table.removeChild(tr);
????????}

這么寫為什么只能刪除新建的行,不能刪除默認的行呢?

正在回答

1 回答

不好意思,剛開始搜索的時候沒有發現類似問題?為什么刪除原有的兩行刪不掉?和點贊最多的答案區別在哪里?

根據這個問題的答案,補充一下答案。

一個完整的<table>標簽如下:

<table>
????<thead>?</thead>
????<tfoot>??</tfoot>
????<tbody>
????????<tr>
????????????<td>
????????????</td>
????????</tr>
</tbody>

當使用題目列舉的刪除函數,<table>默認子節點是不存在<tr>標簽的,這是默認兩行刪不掉的原因。

而我們大多數人的添加函數中,基本上是用下面這種方式:

table.appendChild(tr);

即把“新建的行“看作<table>標簽的子節點加入到其中,即

<table>
????<thead>?</thead>
????<tfoot>??</tfoot>
????<tbody>?</tbody>
????<tr>?</tr>?//?appendChild();?添加的節點
?</table>

這就造成了只能刪除新建的行,不能刪除默認的兩行。

如有紕漏,還望指正。

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

9-22練習:刪除函數

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

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

幫助反饋 APP下載

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

公眾號

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