javascript - document.getElementById() 在函数闭包中不起作用
问题描述
我正在尝试在我的 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。我不确定我做错了什么——函数闭包范围是否排除了像“文档”这样的全局变量?如果是这样,为什么我仍然可以在函数闭包中使用“console.log()”?
解决方案
您的 javascript 在您的 html 加载之前正在运行。将您的脚本标签放在正文最底部的 html 内容之后
<head>
// put css here
</head>
<body>
<section id="mysection"></section>
<script src="myscript.js"></script>
</body>
推荐阅读
- javascript - 如何开玩笑地模拟 const 方法?
- web - 使用反向代理在 Grafana 旁边运行 Web 服务器
- linux - 使用 python 脚本的 SSH
- angular - ./src/app/component/header.component.ts 找不到模块:错误:无法解析'./header.component.html
- sql-server - 我的 XML 内容包含 为什么 XSLT 1.0 不将其转换为换行符?
- verification - UVM工厂序列生成奇怪的行为
- javascript - 如何在文本输入中调用异步函数?
- java - 对如何使用感到困惑|| 和 && 在同一个 if 语句中。谁能发现问题?
- salesforce - 通过 salesforce 发送列表电子邮件
- r - 删除所有 NA 的第一行之后的所有行