【问题标题】:Get a string in a variable to create a dynamic link in Javascript获取变量中的字符串以在 Javascript 中创建动态链接
【发布时间】:2018-10-13 05:09:12
【问题描述】:

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

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

请帮忙

【问题讨论】:

    标签: javascript href


    【解决方案1】:

    您可以试试这个,而不是在字符串中使用{{link}}

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

    【讨论】:

      【解决方案2】:

      以下语法:

      {{link}}
      

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

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

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2015-05-26
          • 2020-07-16
          • 2022-06-25
          • 1970-01-01
          • 2017-10-11
          • 2015-08-18
          • 1970-01-01
          • 2022-10-21
          • 1970-01-01
          相关资源
          最近更新 更多