无法在函数内部访问JavaScript全局变量

时间:2014-03-03 02:59:11

标签: 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时,我得到了结果 即

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

如何在函数外部访问全局变量声明?也试过window.con,但不行。 请解释原因...

2 个答案:

答案 0 :(得分:2)

您在头部运行脚本,因此DOM元素尚不存在。尝试将脚本移动到页脚,你应该是金色的。

答案 1 :(得分:0)

将脚本放在底部。

实际上,当document.getElementById("con");未在函数中声明时,目标元素即将被直接检索但尚不存在。