5
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

但这不起作用:

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

我正在寻找类似...

$('#map_canvas').toElementBlahblah?
4

2 回答 2

14

.get(index)

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

虽然,document.getElementById显然具有更好的性能 - 它是 jQuery 核心在查询 DOM 以获取单个 ID 选择器时内部使用的方法。

因此,您正在构建一个 jQuery 对象,然后将其丢弃。由您决定是否在带宽中节省一些字节或在执行时间中节省微秒。

老实说,差别不大。当不关心性能并且我懒得打字时,我使用 jQuery 版本document.getElementById,尽管在这种情况下 vanilla JS 更合乎逻辑。

于 2013-02-23T01:33:41.257 回答
0

您可以使用以下.get()方法

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

但是,我认为没有理由不使用document.getElementById.

于 2013-02-23T01:34:36.440 回答