2012-06-24 56 views
0

除非我在javascript之前編寫<div id="bannersize"></div>,否則此腳本無法找到「橫幅廣告」。通過javascript查找元素時出錯

錯誤消息:

Error "Uncaught TypeError: Cannot set property 'innerHTML' of null"

我的代碼片段:

<script> 
function dropbox(menu){ 
    this.tmpmenu = document.getElementById(menu); 
    this.tmpmenu.innerHTML = 'Hello'+this.tmpmenu; 
} 
bannersize = new dropbox('bannersize'); 
</script> 
<div id="bannersize"></div> 

回答

3

,不能因爲在代碼被執行的元素是不是在DOM的時間找到它。一旦瀏覽器看到</script>結束標記,便立即執行腳本塊。您的代碼位於元素之前,所以當它運行時,HTML解析器還沒有遇到包含您正在查找的「id」的元素。

將代碼放在之後,或者在文檔的「加載」事件處理程序中運行它。

+0

謝謝你尖尖的,我把它編輯並**它的工作** :)

user1477982