在一个函数中,我正在构建一个字符串。该字符串是弹出窗口的一些内容(谷歌地图信息窗口)。 代码看起来像这样;
var windowcontent = "<strong>Something</strong><br/>" + somethingVar + "<br/><br/>";
windowcontent += "<a href='javascript:goto('\"+var1+\"','\"+var2+\"');'>Goto</a>";
问题是我希望包含在函数调用中的链接和变量。 无论我尝试什么,我似乎无法让它工作。我知道它是逃避正确方法的东西,但我似乎还没找到正确的方法。
字符串及其中的链接应该如何显示?
答案 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);
}