【发布时间】:2018-01-14 18:36:22
【问题描述】:
我有一个网页,它正在运行index.html:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Title</title>
</head>
<style>@import 'main.css'</style>
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script src="main.js"></script>
<body>
<canvas id='svs'></canvas>
</body>
</html>
由于某种原因,当我尝试在main.js 中使用c = document.getElementById('svs') 时,它只会返回null。我做错了什么,如何在main.js 中访问document?
编辑:
我正在使用socket.io 和express,并通过res.sendFile 发送index.html。
我正在通过带有express.static 的文件夹发送main.css 和main.js。
【问题讨论】:
-
您的
<script>s 应该进入<head>或<body>。您的问题的答案是,当 main.js 运行时,<canvas>尚不存在。在画布后面移动 main.js 行,它应该可以工作。 -
是的,我可以做到。其中一个答案有效,但感谢您的建议!
标签: javascript html express socket.io