2014-03-03 114 views
1

訪問的代碼如下:JavaScript的全局變量不能內部功能

<html> 
<head> 
<title>JS Test</title> 
<script> 
var con=document.getElementById("con"); 
    function btn() 
    { 
     con.innerHTML="Hello"; 
    } 
    </script> 
</head> 
<body> 
    <input type="button" value="Click me" onclick="btn()" /> 
    <div id="con"></div> 
</body> 
</html> 

我沒有收到所要的結果。任何人請解釋爲什麼? 但是我得到的結果是當con在函數 即ie中初始化時。

function btn() 
{ 
    con=document.getElementById("con"); 
    con.innerHTML="Hello"; 
} 

如何訪問全局變量聲明函數的外部?也試過window.con,但不行。 請說明原因...

+0

檢查* con *的值,它將是* null *,這意味着它已被賦值並可用。 – RobG

回答

2

您正在運行腳本,因此DOM元素尚不存在。嘗試將腳本移動到頁腳,並且您應該是金色的。

0

只需將腳本放在底部即可。

實際上,當document.getElementById("con");未在函數中聲明時,目標元素即將被直接檢索但尚未存在。