转义函数调用的变量?

时间:2016-03-08 07:24:12

标签: javascript

在一个函数中,我正在构建一个字符串。该字符串是弹出窗口的一些内容(谷歌地图信息窗口)。 代码看起来像这样;

var windowcontent = "<strong>Something</strong><br/>" + somethingVar + "<br/><br/>";
windowcontent += "<a href='javascript:goto('\"+var1+\"','\"+var2+\"');'>Goto</a>";

问题是我希望包含在函数调用中的链接和变量。 无论我尝试什么,我似乎无法让它工作。我知道它是逃避正确方法的东西,但我似乎还没找到正确的方法。

字符串及其中的链接应该如何显示?

1 个答案:

答案 0 :(得分:2)

第二行应该是

windowcontent += "<a href='javascript:goto(\'" + var1 +"\',\'"+ var2 + "\');'>Goto</a>";

基本上你需要逃避单引号而不是双引号。

讨论后更新了代码demo

var var1 =  encodeURI("(56.02, 9.27)") ;
var var2 =  encodeURI("(56.02, 9.27)") ;

window.addEventListener("load", function()
{
    document.body.innerHTML += '<a  data-var1="' + var1 + '" data-var2="' + var2 + '" href="#" onclick="goto(this)"> Goto </a>';
    console.log(document.body.innerHTML);
}, false);

function goto (thisObj) 
{ 
   console.log(thisObj);
   var var1 = thisObj.getAttribute( "data-var1" );
   var var2 = thisObj.getAttribute( "data-var2" );
    console.log(var1 + ' - ' + var2); 
}