document.getElementById()在函数闭包内不起作用

时间:2019-10-24 20:41:05

标签: javascript jquery

我正尝试在我的javascript中使用函数闭包,如下所示:

在我的html文件中:

<head>
    <script src="myscript.js"></script>
</head>

<body>
    <section id="mysectionId"></section>
</body>

在myscript.js中:

(function() {
    var id = document.getElementById('mysectionId');
    console.log(id);
}());

但是,id似乎等于null。我不确定自己做错了什么-函数闭包范围是否排除像'document'这样的全局变量?如果是这样,我怎么还能在函数闭包内使用'console.log()'?

1 个答案:

答案 0 :(得分:-2)

在加载html之前,您正在运行javascript。将您的脚本标签放在html内容之后的正文底部

<head>
    // put css here
</head>

<body>
    <section id="mysection"></section>
<script src="myscript.js"></script>
</body>