javascript - 为什么在为 Canvas 声明变量时要添加 [0]?

标签 javascript jquery canvas

<分区>

在这段代码中:

var canvas = $("#myCanvas")[0];
var ctx = canvas.getContext("2d");

为什么我们要添加[0]来识别 Canvas ?这让我有点困惑,因为 [n] 通常在有多个同名元素并且我们需要处理特定元素时添加。但是一个 id 只能引用一个唯一的元素。

最佳答案

此语法用于从 jQuery 对象检索底层 Canvas DOMElement,以便可以使用 getContext() 方法(jQuery 对象没有)。

$('#myCanvas')                      // = canvas DOMElement wrapped in a jQuery object
$('#myCanvas')[0]                   // = canvas DOMElement
document.getElementById('myCanvas') // = canvas DOMElement

另见:

What is a jQuery object

canvas API reference

关于javascript - 为什么在为 Canvas 声明变量时要添加 [0]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34764148/

相关文章:

javascript - jQuery:同一事件的多个处理程序

javascript - 从 Canvas 数组中提取像素

javascript - html5 在多个页面上使用 Canvas 和脚本

显示站点上的 Javascript/CSS 问题

javascript - 控制 javascript 异步流的速率(在循环中)

javascript - ng-keypress 事件向下滚动页面

javascript - Facebook Canvas 应用程序 : Requests with Object

javascript - jQuery请求一个url列表同时限制并发请求的最大数量

javascript - 语言之间递归处理的差异

javascript - 使用 d3 将 Bootstrap 工具提示绑定(bind)到动态创建的 SVG 元素