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

时间:2018-10-12 20:56:46

标签: javascript href

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

下面是我的Java代码

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;
}

enter image description here

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

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

请帮助

3 个答案:

答案 0 :(得分:2)

您可以尝试以下操作,而不是在字符串中使用ID Name Age ---------------- 1 John 24 2 Albert 23 3 Kelvin 24 4 Carol 25

ID  Name    Age    SchoolNo
---------------------------
1   John    24       1245
2   Albert  23       1245
3   Kelvin  24       1245
4   Carol   25       1245

答案 1 :(得分:1)

以下语法:

{{link}}

是不正确的,因为该部分位于字符串内部,因此JS引擎将其解释为字符串。

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

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

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

答案 2 :(得分:0)

我认为问题出在{{link}}。您的代码看起来像本机js,而不是angular或任何其他框架。因此,字符串中的字符{{}}并不代表任何含义。您获得的url就是那些转义的字符。使用普通的旧字符串缩写输入您的href值。