課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
var?tr?=?document.getElementsByTagName("tr"); document.write(tr.length); //輸出0
2018-03-27
源自:JavaScript進(jìn)階篇 9-22
正在回答
發(fā)現(xiàn)我剛剛那個(gè)回答沒有說到點(diǎn)上,重答一遍。
題目給的代碼,script部分是在head中的,先于body的內(nèi)容執(zhí)行,所以在執(zhí)行這兩句代碼的時(shí)候,頁(yè)面中根本就沒有表格,于是輸出的長(zhǎng)度為0.
改進(jìn)方法為:在<input type="button" value="添加一行" ?/>之后,寫上以下代碼,
<script type="text/javascript">
? ? ? ?var tr = document.getElementsByTagName("tr");
? ? ? ? ? ? document.write(tr.length);
?</script>?
這樣,在訪問tr的length屬性時(shí),頁(yè)面中就有三行了,于是輸出結(jié)果為3.
你可以觀察你的代碼寫在head和寫在body里面的時(shí)候,數(shù)字0和數(shù)字3的輸出位置,0是表格之前輸出的,而3是在表格之后輸出的。
79351 提問者
?var table = document.getElementById("table");
document.write(table.childNodes.length);
我用這個(gè),可以順利輸出。
var?tr?=?document.getElementsByTagName("br") ?; ?你里面寫的是br 不是tr ?當(dāng)然是0啦
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title></title> <script?type="text/javascript"> var?tr?=?document.getElementsByTagName("br") document.write(tr.length) </script> </head> <body> <table> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> </table> </body> </html> //謝謝回答,不過我這個(gè)為什么輸出是0啊
不好意思,弄錯(cuò)了,我試了,你這個(gè)代碼是可以正確輸出tr的length
function getLength(){?? ??? ??? ?var tr = document.getElementsByTagName("tr");?? ??? ??? ?document.write(tr.length);?? ??? ?}
var
tr?=?document.getElementsByTagName(
"tr"
);
document.write(tr[0].length);
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界
1 回答var table = document.getElementById("table").lastChild 獲取到的是最后一個(gè)tr嗎?
1 回答tr的爹是tbody,tbody的爹是table?那么我再table下加一個(gè)tr,怎么是tabel.appendChild(tr),不是tbody.appendChild(tr)?
2 回答為什么最后tr加到table里面的時(shí)候加到table[0]才有效啊
3 回答為什么不能通過ID獲得table 從而刪除里面的tr結(jié)點(diǎn)?
3 回答為什么通過getElementById("table")獲得父節(jié)點(diǎn)刪除tr不行?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-04-05
發(fā)現(xiàn)我剛剛那個(gè)回答沒有說到點(diǎn)上,重答一遍。
題目給的代碼,script部分是在head中的,先于body的內(nèi)容執(zhí)行,所以在執(zhí)行這兩句代碼的時(shí)候,頁(yè)面中根本就沒有表格,于是輸出的長(zhǎng)度為0.
改進(jìn)方法為:在<input type="button" value="添加一行" ?/>之后,寫上以下代碼,
<script type="text/javascript">
? ? ? ?var tr = document.getElementsByTagName("tr");
? ? ? ? ? ? document.write(tr.length);
?</script>?
這樣,在訪問tr的length屬性時(shí),頁(yè)面中就有三行了,于是輸出結(jié)果為3.
你可以觀察你的代碼寫在head和寫在body里面的時(shí)候,數(shù)字0和數(shù)字3的輸出位置,0是表格之前輸出的,而3是在表格之后輸出的。
2018-04-05
?var table = document.getElementById("table");
document.write(table.childNodes.length);
我用這個(gè),可以順利輸出。
2018-03-28
var?tr?=?document.getElementsByTagName("br") ?; ?你里面寫的是br 不是tr ?當(dāng)然是0啦
2018-03-28
2018-03-28
不好意思,弄錯(cuò)了,我試了,你這個(gè)代碼是可以正確輸出tr的length
function getLength(){
?? ??? ??? ?var tr = document.getElementsByTagName("tr");
?? ??? ??? ?document.write(tr.length);
?? ??? ?}
2018-03-28
var
?tr?=?document.getElementsByTagName(
"tr"
);
document.write(tr[0].length);