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

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

移除函數求解,為什么用要給table節點加lastChild才能生效?

為什么這里移除子節點的函數是這樣的:

function removeChilds(obj){

? ? var tbody=document.getElementById("table").lastChild; ?//注意這里,有個lastChild,我就是這里不明白,求解

? ? var tr=obj.parentNode.parentNode;

? ? tbody.removeChild(tr);

}

在這里,tbody的最后還加了個lastChild,可是要刪除的tr行的父元素不就是<table>嗎?這里加個lastChild是什么意思?


正在回答

3 回答

table習慣上常常把標簽<tbody></tbody> 省略,但是在dom中他默認有tbody這一層,所以獲取的是<tbody></tbody>里面內容,其順序為:thead、tfoot、tbody.?lastChild節點是指其父節點的最后一個節點tbody

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

六月ovo 提問者

意思是在DOM里面,table的樹結構是這樣的:??? <table> <thead> <tr> <th><th/> <td></td> </tr> </thead> <tfoot> <tr> <th><th/> <td></td> </tr> </tfoot> <tbody> <tr> <th><th/> <td></td> </tr> </tbody> </table> 結構是上面這樣的嗎?如果只有兩行,怎么知道lastChild是tbody而不是tfoot呢? 還是默認省略的話都是tbody? 求解答~~
2017-01-20 回復 有任何疑惑可以回復我~
#2

你不懂的前端

var tbody = document.getElementById('table').lastChild; 這段代碼是tr的父節點tbody 那tr不是應該為tr=tbody.childnodes 可是為什么var tr = obj.parentNode.parentNode;理解不了 求解答 謝謝 或者說var tr = obj.parentNode.parentNode; 這該怎么理解
2017-02-12 回復 有任何疑惑可以回復我~

Table 對象集合

集合描述

cells[] ? ?返回包含表格中所有單元格的一個數組。 ? ?

rows[] ? ?返回包含表格中所有行的一個數組。 ? ?

tBodies[] ? ?返回包含表格中所有 tbody 的一個數組。 ? ?

所以var tbody = document.getElementById('table').lastChild;其實是cells層。

參考http://www.w3school.com.cn/jsref/dom_obj_table.asp


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

lastChild 屬性返回指定節點的最后一個子節點,以 Node 對象。

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

六月ovo 提問者

我知道lastChild返回的是最后一個子節點,但是在文檔結構中的table表格中,table的最后一個子節點就是tr,不可能用tr子節點刪掉自己的。在學習removeChild()的時候說過,移除子節點需要有父節點。所以這里我就不明白了。不過樓下有人說清楚啦,是默認省略了 tbody 這一層。table.lastChild就是tbody,這個才是tr的父元素
2017-01-20 回復 有任何疑惑可以回復我~
#2

上好佳_1 回復 六月ovo 提問者

同不明白,按順序來說應該是 thead,tbody,tfoot啊,lastChild應該是tfoot才對呀
2017-02-05 回復 有任何疑惑可以回復我~
#3

六月ovo 提問者 回復 上好佳_1

在DOM中默認是有tbody這一層的,但是在HTML文檔中并沒有寫出來,如果HTML中要用tbody,則需要thead、tfoot和tbody三個一起使用,這個時候DOM中才會看到thead和tfoot。HTML中不使用這三個的結構,則在DOM中tr的外層默認是tbody。
2017-02-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

移除函數求解,為什么用要給table節點加lastChild才能生效?

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

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

幫助反饋 APP下載

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

公眾號

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