坑爹的document.write()


     新手學習javascript,都習慣從document.write()入手,這個看起來易懂的語句,如果不好好用的話會給你的後面的學習帶來很大的麻煩

     本來想着學習一下innerHTML的使用,於是我寫下了如下代碼:

 

<html>
<head>
<title>length</title>
<script type="text/javascript">
window.onload = function()
{

var txt="hello world";
document.write (txt.length);
var txt1=document.getElementById("d");
txt1.innerHTML="string";
} 
</script>

</head>

<body>
<div id="d"></div>
</body>
</html>



 


這段看似沒有問題的代碼,卻能給我的程序帶來很大的隱患,通過瀏覽器測試的結果只有:11

這個只是hello world的字符串長度,我調試後發現:

程序一直找不到<div id="d"></div>,之前一直以爲是window.onload 拼寫之類的問題,

到後來才發現原來是這個坑爹的document.write()惹得禍,因爲這個語句重寫了document,此時你說接下來的去獲取<div id="d"></div>的語句能成功嗎?

 在文檔加載結束後再調用document.write(),那麼輸出的內容就會重寫整個頁面。

document.write來輸出語句,這是我用了一個下午的時間得到的教訓。

 

發佈了32 篇原創文章 · 獲贊 67 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章