我有以下内容:
google.maps.event.addDomListener(window, 'load', setMap);
function setMap() {
var canvas = document.getElementById('map');
// more code
}
我正在使用JQuery。
如何检查元素" map"存在......
仅在函数setMap
存在时才调用它...
并传递它而不是在setMap
函数中定义它。
答案 0 :(得分:0)
试试这个:
google.maps.event.addDomListener(window, 'load', setMap);
function setMap() {
var mapElement = $("#map");
if(mapElement.length == 0)
{
return;
}
var canvas = document.getElementById('map');
// more code
}
答案 1 :(得分:0)
如果canvas
未返回元素,则变量null
将设置为getElementById()
。
参考:https://developer.mozilla.org/en-US/docs/Web/API/document.getElementById
答案 2 :(得分:0)
“如何检查元素”map“是否存在...”
将getElementById
的结果与null
“仅在函数setMap存在时才调用它...”
使用if()
声明
“并传递它,而不是在setMap函数中定义它。”
在setMap
,
function setMap(canvas) {
// more code
}
并将元素传递给它。
var canvas = document.getElementById('map');
if (canvas != null)
setMap(canvas);
不再依赖于再次查询DOM的jQuery解决方案是:
$("#map").each(setMap);
并定义您的setMap
参数,如下所示:
function setMap(i, canvas) {
// more code
});
答案 3 :(得分:0)
使用map
提出getElementById
元素,如果setMap
不是map
,请致电null
。
var map = document.getElementById('map');
if(map) setMap(map);
答案 4 :(得分:-1)
使用Jquery:
var canvas = $('map');
if(map.length){
//element map exists
// more code
}
使用Javascript:
var map= document.getElementById('map');
if ( map!= null) {//element map exists more code
}