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

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

為什么用了.lastChild獲取的才是table節點?

如題:

偌顏寧解釋說:table的子元素是text空節點和tbody節點,而tr和td都在tbody節點中,所以需要獲取table的最后一個子節點元素才行


問題一:意思是通過.lastChild獲取的實際是tbody節點么?但事實上課程已給的代碼中</tr>和</table>之間還有空格,也就是說我認為tbody節點后還有text空節點,怎么能確定通過.lastChild獲取的不是text空節點呢?


問題二:table中如果用tbody的話,亦須先用thead和tfoot,即便thead中不同時含有tr、td(含的是th、td),tfoot中卻同時含有tr和td,為什么偌顏寧解釋table的子元素是text空節點和tbody節點,而不是text空節點、thead節點、tfoot節點和tbody節點以及tbody后可能的text空節點?


只是對偌顏寧的解答仍有些疑惑不理解,沒別的意思。望熱心的學友幫忙解答一下我的兩個問題,謝謝

正在回答

7 回答

我也遇到了同樣的問題,怎么也沒想通

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

<thead>和<tfoot>不會被默認生成;碰到有<tr>或<td>或<th>,就會有<tbody>.若一個都無,則不會有<tbody>;瀏覽器加載到<tr>,自動在外面套上父級<tbody>,那個空白標簽其實是第一個<tr>前面的,<tbody>添加的時候并有沒有把這個空白標簽包括進去,這是我的理解,看下這段代碼就沒有空白字符了。

<!DOCTYPE html>

<html>

<head>

? ? <meta charset=UTF-8>

? ? <title>Document</title>

</head>

<body>

? ? <table border="1" width="50%" id="table"><tr>

? ? ? ? ? ? <td>學號</td>

? ? ? ? ? ? <td>姓名</td>

? ? ? ? ? ? <td>操作</td>

? ? ? ? </tr>

? ? ? ? <tr>

? ? ? ? ? ? <td>xh001</td>

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

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

? ? ? ? ? ? <!--在刪除按鈕上添加點擊事件 ?-->

? ? ? ? </tr>

? ? ? ? <tr>

? ? ? ? ? ? <td>xh002</td>

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

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

? ? ? ? ? ? <!--在刪除按鈕上添加點擊事件 ?-->

? ? ? ? </tr></table>

? ? <script type="text/javascript">

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

? ? var b = a.childNodes;

? ? console.log(b.length);

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

? ? ? ? document.write("<br/>" + b[i].nodeName);

? ? }

? ? </script>

</body>

</html>


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

把table的所有子節點獲取,然后輸出就可以知道結果了。

570a1ed80001d71605000165.jpg

570a1ed80001ef7b05000379.jpg


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

14年的問題了。我16年還是很想知道

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

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

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

有會的可以幫忙回答一下這個問題么,謝謝

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

雖然用

function mydel(obj){

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

? ? ? tr.parentNode.removeChild(tr);

? ? } ?

同樣能夠解決問題,但我還是希望能把這里的.lastChild問題給搞懂,望指教

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

active437153

lastChild節點是指其父節點的最后一個節點, 你試著document.write()一下看看。
2014-12-01 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么用了.lastChild獲取的才是table節點?

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

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

幫助反饋 APP下載

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

公眾號

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