2013-02-23 2 views
3
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); 

Но это не работает:Что такое document.getElementbyId в JQuery?

map = new google.maps.Map($('#map_canvas'), mapOptions); 

Я ищу что-то вроде ...

$('#map_canvas').toElementBlahblah? 
+3

Какой смысл использовать jQuery для получения элемента, если вы просто собираетесь избавиться от объекта jQuery? Просто используйте собственный метод или создайте функцию-оболочку, если вам нужно что-то более короткое, например: 'function id (id) {return document.getElementById (id); } ', тогда используйте его так:' id ("map_canvas") ' –

ответ

13

.get(index)

$('#map_canvas').get(0) 
$('#map_canvas')[0] 

Хотя, document.getElementById, очевидно, имеет лучшую производительность - это метод, используемый внутренним ядром jQuery при запросе DOM для одного селектора идентификаторов.

Итак, вы строите объект jQuery только для его удаления. До вас нужно ли сохранять некоторые байты в полосе пропускания или микросекундах во время выполнения.

Не большая разница, честно говоря. Я использую версию jQuery, когда производительность не касается, и я ленив, чтобы набрать document.getElementById, хотя ванильный JS в этом случае является более логичным.

0

Вы можете использовать .get() method:

$('#map_canvas').get(0); 
$('#map_canvas')[0]; // or direct property access 

Однако, я не вижу причин не использовать document.getElementById.

Смежные вопросы