2017-10-09 57 views
-1

我想将一个DOM元素设置为变量,但是当我使用console.log()变量时,它显示为空。无法将DOM元素设置为变量

var canvas = document.querySelector('canvas'); 
console.log(canvas); //null 

但它在我正在遵循的教程中工作完美。谁能帮我吗?

+6

如果它为空它不能找到该元素。您可能过早地调用了代码,即在创建元素之前 –

+0

您共享的代码没有问题,因此如果您想要特定的答案,您可能需要分享更多。你的HTML是什么样的?剧本在哪里打电话? –

+4

提供[mcve],以便我们验证它。显示的代码没有错,除非没有提供足够的上下文 – charlietfl

回答

0

由于specification,querySelector()如果找不到匹配项则返回null。因此,您在尝试获取时没有canvas节点。你应该

  • 确保您的HTML文档具有canvas节点
  • 确保您的canvas节点设置为HTML文档

以下的HTML代码将下班后运行脚本当然

<canvas id="myCanvas"></canvas> 
    <script> 
     var canvas = document.querySelector('canvas'); 
     console.log(canvas); 
    </script>