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

하지만이 작동하지 않습니다JQuery에서 document.getElementbyId와 동일한 것은 무엇입니까?

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] 

비록은 분명히 더 나은 성능을 가지고 있습니다. DOM을 단일 ID 선택기로 쿼리 할 때 jQuery 코어에서 내부적으로 사용하는 방법입니다.

그렇다면 jQuery 객체를 만들어서 나중에 버리기 만하면됩니다. 실행 시간에 대역폭 또는 마이크로 초 내에 일부 바이트를 저장할지 여부는 사용자에게 달려 있습니다.

별로 다르지 않지만 솔직히. 성능에 문제가 없을 때 jQuery 버전을 사용하고 document.getElementById을 입력하는 것이 게으르다.하지만 바닐라 JS는이 경우 좀 더 논리적이다. 내가 document.getElementById를 사용하지 않을 이유를 볼 수 없습니다, 그러나

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

:

관련 문제