我在这里看到了几种可能的解决方案,但是以某种方式我找不到合适的解决方案。
我的情况是这样的:
用户进入带有网址查询字符串的pageA。
它看起来像这样: http://example.com?name=xxxxx&email=xxxxx&a1=1xxxxx
在该页面上,我有两个链接,可以说它们的ID为linkA和linkB。
我对第一个这样的标记感兴趣:
<a href="" id="linkA">Link A</a>
我需要从url获取整个查询字符串,并将其添加到linkA,后者将指向另一个URL。 因此,最终链接如下所示:
<a href="http://anotherurl.com?name=xxxxx&email=xxxxx&a1=1xxxxx" id="linkA">Link A</a>
您能帮我解决干净的问题吗?
提前谢谢!
答案 0 :(得分:3)
您只需使用window.location.search
即可从页面的URL访问整个查询字符串。它将返回如下内容:?name=xxxxx&email=xxxxx&a1=1xxxxx
。
然后您可以将其附加到锚元素的href
属性中,例如
document.querySelector('#linkA').href = `http://anotherurl.com/${window.location.search}`;
如果您需要基于ES5的解决方案,那么它将起作用:
document.querySelector('#linkA').href = 'http://anotherurl.com/' + window.location.search;
答案 1 :(得分:0)
您可以尝试使用window.location的搜索键,该搜索键返回当前url的搜索查询。
因此,在http://example.com/?name=xxxxx&email=xxxxx&a1=1xxxxx上,使用以下
window.location.search
将为您提供以下字符串
?name=xxxxx&email=xxxxx&a1=1xxxxx
然后您可以将此字符串附加到第二个锚标记的“ href”上
答案 2 :(得分:0)
尝试此代码,效果很好:
$(document).ready(function(){
var parameters = window.location.search;
var link = $('#linkA').attr('href');
$('#linkA').attr('href', link + parameters);
});