使用easybutton动态添加URL到字符串

时间:2019-01-07 15:13:18

标签: javascript jquery leaflet

我正在尝试使用easybutton.js将URL添加到字符串中。我显然正在使用leaflet.js。目前可以正常运行

var operator = L.easyButton('<img src="img/myimage.jpg">', function(btn, map){
    var destination = [window.my_lat, window.my_lng];
      map.flyTo(destination, 16, {
            animate: true,
            duration: 2 // in seconds
          });
}).addTo(map);

但是,如果我尝试这样做,它不会通过variale吗? :

var myimg = "newimage";

var operator = L.easyButton('<img src="img/"+myimg+".jpg">', function(btn, map){
    var destination = [window.my_lat, window.my_lng];
      map.flyTo(destination, 16, {
            animate: true,
            duration: 2 // in seconds
          });
}).addTo(map);

2 个答案:

答案 0 :(得分:1)

我认为引号是问题。代替

'<img src="img/"+myimg+".jpg">'
应该是

'<img src="img/' + myimg + '.jpg">'

答案 1 :(得分:1)

您在字符串定义上犯了一个错误。在HTML中,您可以使用 - “双引号” -“单引号” -tilde

您应将代码更改为以下内容。     var myimg =“ newimage”;

var operator = L.easyButton("<img src='img/"+myimg+".jpg'>", function(btn, map){
    var destination = [window.my_lat, window.my_lng];
      map.flyTo(destination, 16, {
            animate: true,
            duration: 2 // in seconds
          });
}).addTo(map);

您当然也可以尝试:

//Using Single Quotes
'<img src="img/'+myimg+'.jpg">'
//Interpolation
`<img src="img/${myimg}.jpg'>`
//Ignoring HTML quotes altogether
"<img src=img/"+myimg+".jpg>"