getElementById返回null但返回带有$("")的DOM节点

时间:2015-06-22 21:09:31

标签: javascript

我的RoR .js目录中的canvas.js文件/assets/javascripts/中有以下行。

var b_canvas = document.getElementById("prof_canvas");
console.log(b_canvas);

在我的浏览器控制台中执行时返回。

null

但是当我在控制台中写下以下内容时:

$("#prof_canvas")

我找回了<canvas>个对象。

以下是JS运作的HTML:

 <canvas id='prof_canvas' style='width:400px;height:300px '></canvas>

1 个答案:

答案 0 :(得分:2)

jQuery

$("#prof_canvas")

实际上是querySelector的镜像:

var element = document.querySelector("#prof_canvas");

最好是在HTML结束时添加这样的脚本,或者在DOM准备好时对事件进行编码:

<script>
  document.addEventListener("DOMContentLoaded", function(event) {
    console.log("DOM fully loaded and parsed");
  });
</script>

https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded