在变量jQuery中使用append

时间:2018-08-31 10:18:57

标签: javascript jquery html

我需要创建一个脚本元素,并在其中附加谷歌地图功能。 我想知道:我可以通过追加在函数中使用变量吗?

var center = {lat: -34.397, lng: 150.644};

document.createElement("script").append(
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: center,
          zoom: 8
        });
      }
);

2 个答案:

答案 0 :(得分:2)

您可以使用此方法运行脚本。因为append仅用于Node -s。

function runScript(func) {
    var e = document.createElement('script');
    e.innerHtml = func.toString();
    document.head.appendChild(e);
}

runScript(function(){
    alert('okay');
});

您可以使用此方法运行任何js脚本。

runScript(function(){
    map = new google.maps.Map(document.getElementById('map'), {
      center: center,
      zoom: 8
    });
});

答案 1 :(得分:1)

.append(...)仅用于节点或DOM字符串。不适用于JS代码。 https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/append

为什么不直接调用initMap()? 像这样:

var center = {lat: -34.397, lng: 150.644};

function initMap() {
  return new google.maps.Map(document.getElementById('map'), {
    center: center,
    zoom: 8
 });
 
 var map = initMap();