2014-03-03 64 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");未在函数中声明时,目标元素即将被直接检索但尚未存在。