2013-10-12 39 views
0

getElementById返回undefined。當我在Dom被加載後運行它。加載dom後getElementById返回undefined

這是我現在的代碼。我也嘗試從控制檯窗口運行該功能。

我試着在正文中調用window.onload的功能。

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 

    <script> 
function test() { 
    var element = getElementById("testing"); 

    element.innerHTML+= "<br/>Yeah!"; 
} 
    </script> 
</head> 
<body> 

    <p id="testing"> 
     I JUST love to test! 
    </p> 

<script>window.onload=test();</script> 

</body> 
</html> 
+4

不應該是'document.getElementById(...)'? – Harry

+0

是啊,先忘了文檔.. – user2013498

+0

'document.getElementById' * never * returns'undefined'。 DOM元素或null。 – Bergi

回答

0

嘗試

var element = document.getElementById("testing"); 
0

你打電話的功能和設置window.onload給函數的結果, 應該是:

<script>window.onload=test;</script> 

此外,你應該清潔代碼,例如:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 

    <script> 
     function test() { 
      var element = document.getElementById("testing"); //document. NOT just getElementById 
      element.innerHTML+= "<br/>Yeah!"; 
     } 
     window.onload = test; 
    </script> 
</head> 
<body> 
    <p id="testing"> 
     I JUST love to test! 
    </p> 
</body> 
</html> 
+0

克里斯,玩得開心? – OneOfOne

+0

\ @OneOfOne真的有必要......嗎? – Doorknob

+0

有什麼必要?我不是那個在頁面上編輯問題和每個答案3次的人。 – OneOfOne

0

您忘記了在那裏添加documentgetElementByIddocument的一種方法!

var element = document.getElementById("testing"); 

此外,作爲剛剛被另一個答覆中提到,您呼叫,並在同一時間定義test功能。

應該是這樣的:

window.onload = test; 

希望這有助於!