【问题标题】:How do I add a js variable to the url when using the href setAttribute function?使用href setAttribute函数时如何在url中添加js变量?
【发布时间】:2014-04-09 20:57:10
【问题描述】:

我正在使用 jquery 来获取 url (http://website.com?Name=Brian) 中的一个变量并设置一个 javascript 变量:

var name = getQueryVariable('Name');

现在我正在尝试动态更新 Unbounce (unbounce.com) 中的 href 属性,如下所示:

  document.getElementById('lp-pom-button-181').setAttribute("href","http://google.com?fname=name");

这样我就可以传递变量了。

如何将“var name”添加到 setAttribute href 的 url 'http://google.com?fname=' 的末尾?

谢谢。

【问题讨论】:

    标签: javascript variables url href setattribute


    【解决方案1】:

    简单的字符串拼接,结合encodeURIComponent:

    document.getElementById('lp-pom-button-181').setAttribute("href","http://google.com?fname=" + encodeURIComponent(name));
    

    您需要encodeURIComponent 以确保正确转义查询字符串参数。例如,要确保&(查询字符串中的特殊字符)被正确编码为%26

    【讨论】:

    • 感谢 T.J. 的回复。我将是第一个承认我不知道 javascript 的人。 PHP 更像是我的游乐场,我是新手。我正在使用 jquery 将变量从 url 中提取出来,并且我很确定变量已经被转义了。为了确保,我尝试添加变量,同时确保查询字符串参数根据您的建议进行了转义,并且没有骰子。想法?
    • 我和一位朋友谈过,他提到我可以使用 jQuery 来完成同样的事情:code $('#lp-pom-button-181').attr('href', ' google.com?fname=' + 姓名); code
    • @brianjambor:如果变量中的文本已经编码,那么显然您不必对其进行编码。但我怀疑文本可能不是。无论如何,上述确实工作:jsbin.com/senavusu/1
    猜你喜欢
    • 2014-02-24
    • 2017-09-11
    • 2017-01-19
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2018-02-17
    相关资源
    最近更新 更多