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

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

第九章編程練習 為什么獲取tbody后面要加一個lastChild

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

為什么獲取tbody后面要加一個lastChild


正在回答

1 回答

table習慣上,我們常常把標簽<tbody></tbody> 省略,但是在dom中他默認有tbody這一層,所以獲取的是<tbody></tbody>里面內容,也就是

?

<tr>

? ? <th>學號</td>

? ? <td>姓名</td>

? ? <td>操作</td>

? ? ?</tr>


? ? <tr>

? ? <td>xh001</td>

? ? <td>王小明</td>

? ? <td><a href="javasript:;" >刪除</a></td>

? ? ?</tr>


? ? ?<tr>

? ? <td>xh002</td>

? ? <td>劉小芳</td>

? ? <td><a href="javasript:;" >刪除</a></td>

? ? ?</tr>

如果alert (table.nodeName);結果是TBODY.

如果把

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

改成:

var tbody = document.getElementById('table').firstChild;

那么

在非IE瀏覽器中結果是:

alert(table.nodeName)結果將是#text;

所以需要獲取table的lastChild,然后作為父節點,刪除子節點.


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

慕俠4489241 提問者

非常感謝!
2016-04-20 回復 有任何疑惑可以回復我~
#2

慕之光

這樣算的話,table的子節點數為2,那么</tbody>與</table>之間的空白節點是不是被忽略了,還是dom中他默認有tbody這一層的時候就默認</tbody>與</table>之間沒有空白?不同場合IE對空白節點的忽略程度似乎不太一致,這個問題很困擾我,求幫助.....
2016-04-23 回復 有任何疑惑可以回復我~
#3

sz_yeefun

可以看一下這個的整理: http://www.cnblogs.com/yanglin-gdqy-blog/p/4534322.html
2016-09-09 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

第九章編程練習 為什么獲取tbody后面要加一個lastChild

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

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

幫助反饋 APP下載

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

公眾號

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