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

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

document.write的問題

function getnum(){

? var mynode=document.getElementsByName("myt"); ?

? document.write(mynode.length);

? alert(mynode.length);

}

為什么document.write輸出出來是0呢?

如果把document.write和alert換一下順序兩個都是輸出的6

正在回答

5 回答

對滴,文檔加載完畢后使用document.write()會覆蓋頁面。

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

榎目貴音 提問者

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

代碼的順序是

document.write(mynode.length);

alert('mynode.length');

也就是說在執行到document.write(mynode.length);這條代碼時,顯示屏的結果就已經是mynode.length的結果6了,而body標簽里的input文本框就都被覆蓋了,所以當代碼執行到alert('mynode.length')時,顯示屏上只有數字6,因此結果為0

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

表示還是不懂為什么alert(mynode.length);輸出來的是0,

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

慕村1994845

document.write()把之前的頁面給覆蓋了,write一次之后的新頁面中mynode數組是空的;所以,下面的alert彈窗出來的是個空數組,就會顯示數組長度為零
2016-11-18 回復 有任何疑惑可以回復我~

原來是輸出document的時候覆蓋了body里面的input這些元素了,怪不得輸出出來是0

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

ray1208

正解!
2016-03-31 回復 有任何疑惑可以回復我~

如果刪除alert(mynode.length);輸出三次? document.write(mynode.length);的話,就會得到6 0 0的結果,為什么后面兩次document是0呢?

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

慕村1994845

document.write()把之前的頁面給覆蓋了,write一次之后的新頁面中mynode數組是空的;所以,第二次write的是個空數組,就會顯示數組長度為零;第三次write同理
2016-11-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

document.write的問題

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

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

幫助反饋 APP下載

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

公眾號

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