首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取变量中的字符串以在Javascript中创建动态链接

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

Stack Overflow用户
提问于 2018-10-13 04:56:46
回答 3查看 1K关注 0票数 4

我想要完成的是有一个有几个位置的地图。每当用户点击每个位置时,就会出现一个弹出窗口,其中包含一些信息。我正试图在弹出窗口中创建一个动态链接。

下面是我的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

请帮帮忙

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-13 05:01:50

可以尝试这样做,而不是在字符串中使用{{link}}

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

Stack Overflow用户

发布于 2018-10-13 05:09:13

以下语法:

{{link}}

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

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

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

这个例子假设link和i都是您想要动态插入到字符串中的变量。如果你有更多的问题,请留下评论。

票数 1
EN

Stack Overflow用户

发布于 2018-10-13 05:03:03

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52786910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档