获取变量中的字符串以在 Javascript 中创建动态 link

Get a string in a variable to create a dynamic link in Javascript

我想要完成的是制作一张包含几个位置的地图。每当用户单击每个位置时,都会出现一个包含一些信息的弹出窗口。我正在尝试在该弹出窗口中创建一个动态 link 。

下面是我在 Javascript

中的代码
function parseDescription(message){
    var string=""

    for(var i in message){
        if (i=="CommunityPartner"){
            string+='<span style="font-weight:bold">'+i+'</span>'+": "+message[i]+'</a>'+"<br>"
        } else if (i=="WeitzCECPartner"){
            string+='<span style="font-weight:bold">'+i+'</span>'+": "+message[i]+'</a>'+"<br>"
        } else if (i=="PhoneNumber"){
            string+='<span style="font-weight:bold">'+i+'</span>'+": "+message[i]+'</a>'+"<br>"
        } else if (i=="Website"){
            var link = "http://www."+message[i];
            string+='<span style="font-weight:bold">'+i+'</span>'+": "+'<a href="{{link}}" >'+link+'</a>'+"<br>"
        }
        //string+='<span style="font-weight:bold">'+i+'</span>'+": "+message[i]+"<br>"
    }
    return string;
}

我一直收到这个错误。我认为这与传递给 "a href" 的值有关:

Request Method: GET
Request URL:    http://127.0.0.1:8000/%7B%7Blink%7D%7D

请帮忙

除了在字符串中使用 {{link}},您可以试试这个:

var link = "http://www." + message[i];
string += '<span style="font-weight:bold">' + i + '</span>: <a href="' + link + '">' + link + '</a><br>';

我认为问题出在{{link}}。您的代码看起来像原生 js 而不是 angular 或任何其他框架。因此,字符串中的字符 {{}} 没有任何意义。您得到的 url 正是那些转义的字符。使用普通的旧字符串连接输入您的 href 值。

语法如下:

{{link}}

不正确,因为这部分在字符串中,它被 JS 引擎解释为字符串。

您可以使用模板字符串(反引号 `)将变量作为字符串插入到另一个字符串中。例如:

`<span style="font-weight:bold">${i}</span>:<a href="${link}" >${link}</a><br>`;

此示例假定 link 和 i 都是您要动态插入到字符串中的变量。如果您有更多问题,请发表评论。