map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
但是,這並不工作:JQuery中document.getElementbyId的等效內容是什麼?
map = new google.maps.Map($('#map_canvas'), mapOptions);
我正在尋找類似...
$('#map_canvas').toElementBlahblah?
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
但是,這並不工作:JQuery中document.getElementbyId的等效內容是什麼?
map = new google.maps.Map($('#map_canvas'), mapOptions);
我正在尋找類似...
$('#map_canvas').toElementBlahblah?
$('#map_canvas').get(0)
$('#map_canvas')[0]
雖然,document.getElementById
顯然具有更好的性能 - 這是jQuery核心在查詢單個ID選擇器的DOM時內部使用的方法。
因此,然後你正在構建一個jQuery對象,以便隨後丟棄它。由您決定是否在帶寬中保存一些字節或在執行時間內保存幾微秒。
沒有太大的區別,說實話。當我不關心性能時我使用jQuery版本,我懶得鍵入document.getElementById
,雖然在這種情況下vanilla JS更合乎邏輯。
可以使用.get()
method:
$('#map_canvas').get(0);
$('#map_canvas')[0]; // or direct property access
不過,我看不出有什麼理由不使用document.getElementById
。
如果你只是要擺脫jQuery對象,使用jQuery來獲取元素有什麼意義?只需使用本地方法,或者如果想要縮短輸入的內容,就可以創建一個包裝函數,如下所示:'function id(id){return document.getElementById(id); }'然後像這樣使用它:'id(「map_canvas」)' – 2013-02-23 01:43:53