Javascript jQuery相当于获取画布的上下文

Javascript jQuery相当于获取画布的上下文,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我有以下工作代码: ctx = document.getElementById("canvas").getContext('2d'); 有没有办法用$重新编写它?这样做失败: ctx = $("#canvas").getContext('2d'); 尝试: jQuery在数字索引中公开了实际的DOM元素,您可以在其中执行正常的JavaScript/DOM功能。我还发现,通常更倾向于使用它。get(0)将jQuery目标引用为HTML元素: var myCanvasElem = $("#can

我有以下工作代码:

ctx = document.getElementById("canvas").getContext('2d');
有没有办法用
$
重新编写它?这样做失败:

ctx = $("#canvas").getContext('2d');
尝试:


jQuery在数字索引中公开了实际的DOM元素,您可以在其中执行正常的JavaScript/DOM功能。

我还发现,通常更倾向于使用它。get(0)将jQuery目标引用为HTML元素:

var myCanvasElem = $("#canvas").get(0);
也许有助于避免任何潜在的null对象引用,因为jquery作为对象返回null,但使用中的元素时。get(0)可能不会以静默方式失败。。。您可以很容易地检查画布是否是在之前首先找到的


脚本在找到“画布”之前工作

或者

if(typeof$('#canvas')==='undefined'){
var='';
$('body').append(画布);
}
setTimeout(function(){ctx=$('#canvas').get(0).getContext('2d');},500);

使用setTimeout是一种简单的方法,可以确保在画布元素完全创建并注册到DOM之前不会尝试调用它。

这个问题是在您回答之前8年提出的。回答之前,请检查询问的日期!
var myCanvasElem = $("#canvas").get(0);
if( $("#canvas").length ) ctx = $("#canvas").get(0).getContext('2d');
else console.log('Error: Canvas not found with selector #canvas');
 $(document).ready(function() {
   ctx = $("#canvas");
});
try{ 
   ctx = $('#canvas').get(0).getContext('2d');
}catch(e){ 
    console.log('We have encountered an error: ' + e);
}
if( typeof $('#canvas') === 'undefined'){ 
    var canvas = '<canvas id="canvas"><\/canvas>';
    $('body').append(canvas);
}
setTimeout( function(){ ctx = $('#canvas').get(0).getContext('2d'); }, 500);