猿问

HTML Canvas - 无法获取未定义或空引用的属性“getElementById”

<!DOCTYPE html>

<head>

<script>

var ctx = document.getElementById('ctx').getContext('2d');

</script>

</head>

<body>

<canvas id="ctx" style="border: 1px solid #000000;"></canvas>

</body>


这将返回:


0: Unable to get property 'getElementById' of undefined or null reference

有什么理由吗?


子衿沉夜
浏览 243回答 2
2回答

拉丁的传说

您的代码中的问题似乎是 javascript 试图通过 id 获取一个元素,该元素在 javascript 运行时不存在。所以你所要做的就是将你的 javascript 放在文档的末尾(对于一些简单的测试)。在编写“真实”应用程序时,您应该将 javascript 包装在某种加载处理程序中,以确保它仅在文档完全加载后才被触发。<!DOCTYPE html><html><head>&nbsp;&nbsp;</head><body><canvas id="ctx" width="150" height="150"></canvas><script>&nbsp; var ctx = document.getElementById('ctx').getContext('2d');&nbsp; console.log(ctx)</script></body></html>

慕桂英546537

添加一个最小的 HTML 文档来保存画布。错误是说它无法从未定义中获取 getElementById,这意味着文档未定义。<!DOCTYPE html><html>&nbsp; <head></head>&nbsp; <body>&nbsp; &nbsp; <canvas id="ctx" style="border: 1px solid #000000";></canvas>&nbsp; &nbsp; <script>var ctx = document.getElementById('ctx').getContext('2d');</script>&nbsp; </body></html>以上工作在 Safari 和 Firefox 上没有错误
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答