Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как к объектам полученными jquery применить стандартные методы javascript? (https://javascript.ru/forum/jquery/21527-kak-k-obektam-poluchennymi-jquery-primenit-standartnye-metody-javascript.html)

klauddl 13.09.2011 20:01

Как к объектам полученными jquery применить стандартные методы javascript?
 
Добрый день.
Только сегодня начал изучать jQuery и сразу получил проблему. Почему, я не могу применить к DOM элементу полученому с помощью jQuery методы стандартного javascript.

Вот собственно эта проблема:
<!-- Наш DOM элемент -->
<canvas id="canvas" height="400" width="600"></canvas>

//Javascript это работает
var canvas = document.getElementById('canvas').getContext('2d');

//jQuery не работает
var canvas = $('#canvas').getContext('2d');

//Вот такая ошибка в Google Chrome
Uncaught TypeError: Object [object Object] has no method 'getContext'

Вопрос такой. Можно так делать или нет.

walik 13.09.2011 20:15

Потому что JQuery обертывает элемент в свой объект.
Для получения самого DOM элемента используйте .get()
var canvas = $('#canvas').get(0).getContext('2d');

klauddl 13.09.2011 20:28

Цитата:

Сообщение от walik (Сообщение 126331)
Потому что JQuery обертывает элемент в свой объект.
Для получения самого DOM элемента используйте .get()
var canvas = $('#canvas').get(0).getContext('2d');

Огромное спасибо! То что надо. Хотя если подумать над строчкой Object [object Object], закрадываются в голову те же мысли.

ваый 13.09.2011 21:13

или $('#canvas')[0].getContext('2d')

klauddl 14.09.2011 09:26

Цитата:

Сообщение от ваый (Сообщение 126337)
или $('#canvas')[0].getContext('2d')

Да пожалуй это будет покороче.


Часовой пояс GMT +3, время: 01:07.