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

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

JavaScript進階篇9-22編程練習,創建刪除函數這里不會寫,其他同學代碼有點看不懂,麻煩講解下

?// 創建刪除函數
???? function del(obj)
???? {
???????? var tr=obj.parentNode.parentNode;
???????? tr.parentNode.removeChild(tr);
???? }

麻煩懂的同學給講解下,這樣寫是什么意思啊,謝謝~

正在回答

2 回答

DOM操作懂嗎?或者說文檔樹,你看那個表格,它其實是一棵文檔樹,刪除是一個a標簽,刪除上面有一個老爸(parentNode)td,td上面又有一個老爸(parentNode)tr對吧,以此類推,這里del()函數是把a標簽(刪除)包裝成了一個對象(obj),函數里面定義一個tr對象,它應用了obj的老爸的老爸的屬性,剛好就是html里面的tr,然后這個tr對象的老爸采用了一個removeChild()的方法(就是把兒子干掉了)這個兒子的名字剛好叫tr,所以就實現了刪除的功能了

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

Missvia 提問者

非常感謝!
2015-12-24 回復 有任何疑惑可以回復我~
#2

迷途的馬爾斯 回復 Missvia 提問者

O(∩_∩)O哈哈~
2015-12-24 回復 有任何疑惑可以回復我~
#3

開普勒

var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); 為什么不能這樣寫呢 obj.parentNode.parentNode.parentNode.removeChild(tr);
2015-12-31 回復 有任何疑惑可以回復我~
#4

迷途的馬爾斯 回復 開普勒

這里傳進來的obj是一個引用對象來的,你在引用下面是找不到tr這個東西的,只能找到tr對應的引用
2015-12-31 回復 有任何疑惑可以回復我~
查看1條回復

傳進來的obj是“刪除”這個a標簽對象,obj的父節點是td(單元格),td的父節點是tr(行),所以tr變量就是當前點擊的a標簽所在的行對象,這個行對象tr的父節點就是表格,所以tr.parentNode.removeChild(tr);就是從表格里移除這一行。

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

Missvia 提問者

謝謝謝謝
2015-12-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

JavaScript進階篇9-22編程練習,創建刪除函數這里不會寫,其他同學代碼有點看不懂,麻煩講解下

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

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

幫助反饋 APP下載

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

公眾號

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