如何在jquery中将变量附加到url?
Posted
技术标签:
【中文标题】如何在jquery中将变量附加到url?【英文标题】:How to append variable to url in jquery? 【发布时间】:2011-07-24 01:20:14 【问题描述】:如何在 jquery 中将 variable/text
附加到属性 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 只是一个副产品。查看***.com/questions/179713/… 设置hrefs以上是关于如何在jquery中将变量附加到url?的主要内容,如果未能解决你的问题,请参考以下文章