【问题标题】:How to append variable to url in jquery?如何在jquery中将变量附加到url?
【发布时间】:2023-03-25 15:56:01
【问题描述】:

如何在 jquery 中将 variable/text 附加到属性 href

【问题讨论】:

    标签: jquery url attributes append href


    【解决方案1】:

    您可以使用.attr() 函数:

    var foo = 'foo=bar';
    $('a#foo').attr('href', function(index, attr) {
        return attr + '?' + foo;
    });
    

    或:

    $('a#foo').attr('href', function() {
        return this.href + '?' + foo;
    });
    

    【讨论】:

    • 这里没有考虑现有的url是什么
    • 这将破坏已经有查询字符串的 url。看看@JohnC 的回答。
    【解决方案2】:

    您需要检查是否已经存在查询字符串,然后再根据您要执行的其他示例将项目附加到 url。

    var foo = 'foo=bar';
    $('a').attr('href', function(index, attr) {
        return attr + (attr.indexOf('?') >=0 ? '&' : '?') + foo;
    });
    

    【讨论】:

      【解决方案3】:
      $('a').attr('href', function(i, v) {
          return v + 'text...';
      });
      

      【讨论】:

      • @Steffi jQuery 对象内元素的索引 - 在这种情况下无关紧要。
      【解决方案4】:

      如果你反复使用它,试试 .attr() as:

      HTML: <a id='foo' href='#'>I am your father,.. nooooo</a>
      
      var myparams = 'myvar=myvalue';
      var myurl = 'TypeThe_NetscapeURL';
      $('a#foo').attr('href', function() {
          return myurl + '?' + myparams;
      });
      

      【讨论】:

      • 几个 cmets:1.that 可以工作,但它实际上覆盖了未附加的值。要追加,首先获取值 $("#foo").attr('href') 然后追加任何你需要的东西。 2. 在上面的示例中,您不需要返回 url 的函数。简单的 myurl+'?'+myparams 应该这样做。这是获取 url 并附加到它的情况。将其设置为 href 只是一个副产品。查看stackoverflow.com/questions/179713/… 设置hrefs
      猜你喜欢
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      相关资源
      最近更新 更多