數組遍歷輸出問題?
var nodes = document.getElementsByTagName("h1"); ?for(var i=0;i<nodes.length;i++) ?{ ? ? ?document.write(nodes[i].innerHTML); ?} 為什么用document.write遍歷不出數組,只有一個?
var nodes = document.getElementsByTagName("h1"); ?for(var i=0;i<nodes.length;i++) ?{ ? ? ?document.write(nodes[i].innerHTML); ?} 為什么用document.write遍歷不出數組,只有一個?
2016-08-07
舉報
2016-08-08
被覆蓋掉了吧!你看看是不是輸出的是最后一個,是的話,應該是后面輸出的內容把前面輸出的內容的覆蓋了。
2016-08-07
這段函數是沒有問題的,我覺得可能兩種情況產生這個原因:
<h1> 在 函數后面,在沒加載<h1>的情況下,調用h1出現錯誤(根據題目,幾率較小)
調用了window.onload 來調用函數,雖然調用window.onload是個不錯的選擇,但是在這里并不合適,因為這里有document.write,如果沒有調用window.onload且把h1放在前面,那么在執行document.write時函數會默認寫在當前頁面(因為頁面未加載完)。但是調用了window.onload(頁面已加載完),在執行document.write時,函數會自動啟用另一頁來輸出,所以body,head重新刷新,所以在輸出一個后就輸出不了(因為后面的被刷沒了,調用也沒有用了)。