2013-04-23 4 views
1

У меня есть холст HTML элемент внутри страницы HTML, как:HTML5 Canvas объект

<canvas id="myCanvas2" width="290" height="250" style="background-color:red"></canvas> 

Я хочу, чтобы получить доступ к холсту с помощью JQuery. Если я пытаюсь получить доступ, используя jQuery, он не работает, если я попытаюсь использовать document.getElementById, тогда только его работа.

Вот код:

var canvas = $("#myCanvas2"); 
console.log("Canvas : " + canvas + ", typeof : " + typeof(canvas)); 
canvas = document.getElementById('myCanvas2'); 
console.log("Canvas 2 : " + canvas + ", typeof : " + typeof(canvas)); 

В случае, если не $ ("# myCanvas2"); и document.getElementById ('myCanvas2'); быть одинаковым ??

Я получаю следующее в консоли:

Canvas : [object Object], typeof : object 
    Canvas 2 : [object HTMLCanvasElement], typeof : object 

Может HTML элемент холста можно получить с помощью JQuery?

Спасибо.

+3

Несомненно, используйте ** элемент ** из объекта jQuery **, как 'var canvas = $ (" # myCanvas2 ") [0];' –

+0

Спасибо за ответ ... – Biranchi

ответ

3

jQuery всегда обертывает свой метод вокруг узлов DOM. Это не только случай для холста.

Если вы хотите получить доступ к Canvas DOM узла с помощью JQuery, вы должны будете использовать .get() method:

$("canvas").get(0).getContext("2d"); 
// or short hand 
$("canvas")[0].getContext("2d"); 

Примечание Вы должны пройти index, чтобы получить так что вы получите узел DOM. В противном случае у вас будет массив узлов DOM.