為什么用了.lastChild獲取的才是table節(jié)點(diǎn)?
如題:
偌顏寧解釋說:table的子元素是text空節(jié)點(diǎn)和tbody節(jié)點(diǎn),而tr和td都在tbody節(jié)點(diǎn)中,所以需要獲取table的最后一個(gè)子節(jié)點(diǎn)元素才行
問題一:意思是通過.lastChild獲取的實(shí)際是tbody節(jié)點(diǎn)么?但事實(shí)上課程已給的代碼中</tr>和</table>之間還有空格,也就是說我認(rèn)為tbody節(jié)點(diǎn)后還有text空節(jié)點(diǎn),怎么能確定通過.lastChild獲取的不是text空節(jié)點(diǎn)呢?
問題二:table中如果用tbody的話,亦須先用thead和tfoot,即便thead中不同時(shí)含有tr、td(含的是th、td),tfoot中卻同時(shí)含有tr和td,為什么偌顏寧解釋table的子元素是text空節(jié)點(diǎn)和tbody節(jié)點(diǎn),而不是text空節(jié)點(diǎn)、thead節(jié)點(diǎn)、tfoot節(jié)點(diǎn)和tbody節(jié)點(diǎn)以及tbody后可能的text空節(jié)點(diǎn)?
只是對(duì)偌顏寧的解答仍有些疑惑不理解,沒別的意思。望熱心的學(xué)友幫忙解答一下我的兩個(gè)問題,謝謝
2016-11-08
我也遇到了同樣的問題,怎么也沒想通
2016-10-20
<thead>和<tfoot>不會(huì)被默認(rèn)生成;碰到有<tr>或<td>或<th>,就會(huì)有<tbody>.若一個(gè)都無,則不會(huì)有<tbody>;瀏覽器加載到<tr>,自動(dòng)在外面套上父級(jí)<tbody>,那個(gè)空白標(biāo)簽其實(shí)是第一個(gè)<tr>前面的,<tbody>添加的時(shí)候并有沒有把這個(gè)空白標(biāo)簽包括進(jìn)去,這是我的理解,看下這段代碼就沒有空白字符了。
<!DOCTYPE html>
<html>
<head>
? ? <meta charset=UTF-8>
? ? <title>Document</title>
</head>
<body>
? ? <table border="1" width="50%" id="table"><tr>
? ? ? ? ? ? <td>學(xué)號(hào)</td>
? ? ? ? ? ? <td>姓名</td>
? ? ? ? ? ? <td>操作</td>
? ? ? ? </tr>
? ? ? ? <tr>
? ? ? ? ? ? <td>xh001</td>
? ? ? ? ? ? <td>王小明</td>
? ? ? ? ? ? <td><a href="javascript:;">刪除</a></td>
? ? ? ? ? ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? ? ? ? </tr>
? ? ? ? <tr>
? ? ? ? ? ? <td>xh002</td>
? ? ? ? ? ? <td>劉小芳</td>
? ? ? ? ? ? <td><a href="javascript:;">刪除</a></td>
? ? ? ? ? ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? ? ? ? </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>
2016-04-10
把table的所有子節(jié)點(diǎn)獲取,然后輸出就可以知道結(jié)果了。
2016-03-11
14年的問題了。我16年還是很想知道
2015-05-25
table習(xí)慣上,我們常常把標(biāo)簽<tbody></tbody> 省略,但是在dom中他默認(rèn)有tbody這一層,所以獲取的是<tbody></tbody>里面內(nèi)容
2014-11-29
有會(huì)的可以幫忙回答一下這個(gè)問題么,謝謝
2014-11-26
雖然用
function mydel(obj){
? ? ? ?var tr=obj.parentNode.parentNode;
? ? ? tr.parentNode.removeChild(tr);
? ? } ?
同樣能夠解決問題,但我還是希望能把這里的.lastChild問題給搞懂,望指教