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

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

為什么必須要使用getElementById("table").lastChild

為什么必須要使用getElementById("table").lastChild,這里使用lastChild的結果為什么不是table的最后一個tr呢?

正在回答

5 回答

定義和用法

<tbody> 標簽表格主體(正文)。該標簽用于組合 HTML 表格的主體內容。

tbody 元素應該與?thead?和?tfoot?元素結合起來使用。

thead 元素用于對 HTML 表格中的表頭內容進行分組,而 tfoot 元素用于對 HTML 表格中的表注(頁腳)內容進行分組。

注釋:如果您使用 thead、tfoot 以及 tbody 元素,您就必須使用全部的元素。它們的出現次序是:thead、tfoot、tbody,這樣瀏覽器就可以在收到所有數據前呈現頁腳了。您必須在 table 元素內部使用這些標簽。


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

我是這樣測試的,現實的結果很明白。

??????window.onload?=?function(){
????????var?ta=document.getElementById("table").childNodes;
????????//?alert(ta.length)?//提示為2.
????????document.write(
????????"ta[0].nodeType:"?+?ta[0].nodeType+
????????"<br/>?ta[0].nodeName"?+?ta[0].nodeName?+?
????????"<br/>?ta[1].nodeType:"?+ta[1].nodeType?+?
????????"<br/>?ta[1].nodeName:"+?ta[1].nodeName
????????);
????????//?alert(ta[1].childNodes.length)??//提示為6,也就是我們以為的table里的子節點數目,實際是在
???????????????????????????????????????????//table的childNodes[1].childNodes里
	?}

ta[0].nodeType:3
ta[0].nodeName#text
ta[1].nodeType:1
ta[1].nodeName:TBODY

這下就明白為什么要是使用 ?document.getElementById("table").lastChild ?了,希望可以幫到你。

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

用chrome的開發者工具發現table標簽下多了一層tbody標簽,猜測瀏覽器會給table標簽里自動添加tbody標簽,tr都是放在tbody里面,所以getElementById("table").lastChild指的應該是tbody標簽,不過table的子標簽只有一個tbody,按理說用firstChild應該也可以,但是實測卻是不可以,感覺有點兒懵圈~


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

除了IE忽略空格等,其他瀏覽器都認為是其子節點,比如<p><span></span></p>,p的最后一個子節點是span;如果是<p><span></span> ? ? ? ? </p>,就是nodeName為#text的文本節點。

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

應該是不是tr

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

舉報

0/150
提交
取消

為什么必須要使用getElementById("table").lastChild

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

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

幫助反饋 APP下載

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

公眾號

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