2013-02-23 80 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」)' – 2013-02-23 01:43:53

回答

13

.get(index)

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

雖然,document.getElementById顯然具有更好的性能 - 這是jQuery核心在查詢單個ID選擇器的DOM時內部使用的方法。

因此,然後你正在構建一個jQuery對象,以便隨後丟棄它。由您決定是否在帶寬中保存一些字節或在執行時間內保存幾微秒。

沒有太大的區別,說實話。當我不關心性能時我使用jQuery版本,我懶得鍵入document.getElementById,雖然在這種情況下vanilla JS更合乎邏輯。

0

可以使用.get() method

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

不過,我看不出有什麼理由不使用document.getElementById

相關問題