2013-12-19 91 views
-1

我嘗試通過javascript與gdocument.getElementById編輯html,但我總是遇到錯誤:Uncaught TypeError --- Can not set空通過Id獲取元素----未捕獲TypeError:無法設置null的屬性'innerHTML'

的特性「的innerHTML」這是我非常簡單的代碼

<html> 
    <head> 
     <title>External .js File- Page 3</title> 
    </head> 

    <body> 

     <script language="JavaScript"> 
     document.getElementById("text").innerHTML = "Hi!"; 
     </script> 

     <article id="text"></article> 

    </body> 
</html> 
+0

'window.onload' – Doorknob

+0

這是什麼意思? – Zachooz

+0

這就像試圖從沒有填充的玻璃杯中喝啤酒 – PeeHaa

回答

2

您正試圖獲得該元素存在之前。

移動腳本,使其出現在元素後面。 (或者將代碼包裝在一個函數中,然後bind用於像load這樣的事件處理程序)。

+0

除了移動其位置之外,還有其他方法可以延遲嗎? – Zachooz

+0

是的,請參閱答案的第三行。 – Quentin

0

嘗試:

window.onload = function(){ 

    document.getElementById("text").innerHTML = "Hi!"; 

}; 
0

你的元素存在之前執行腳本。 document.getElementById正在尋找'文本',但它還沒有。你必須把你的腳本放在window onload事件中,如下所示:

window.onLoad = function() { 
    document.getElementById('text').innerHTML = "Hi"; 
}; 
相關問題