使用Javascript将URL参数传递给href链接

3

我有以下代码可以将URL参数传递给表单标签:

<script type="text/javascript">
  function getQueryVariable(variable) { 
 var query = window.location.search.substring(1); 
 var vars = query.split("&"); 
 for (var i=0;i<vars.length;i++) { 
 var pair = vars[i].split("="); 
 if (pair[0] == variable) { 
   return pair[1]; 
    }
  }
}
 function onLoad() {
var value = getQueryVariable("ID");
var e = document.getElementById('your-field');
e.value = value;
}
</script>

并且...

<body onload="onLoad()">
 <!-- your form and hidden field goes here -->
 <input type="hidden" name="your-field" id="your-field" />

如何将相同的值传递给HTML链接,以便最终结果如下:
<a href="http://www.mysite.com?source=[ID]" >

请问需要添加参数到链接的代码是什么?其中[ID]是什么内容?

提前感谢。

2个回答

9
你应该给你的链接添加一个id,像这样:

<a id="YOUR_ID" href="#" >

你可以有两种方法解决问题,使用纯JavaScript或使用jQuery:

如果你使用jQuery,你可以在你的onLoad函数中注入以下内容:

var url = "http://www.mysite.com?source=" + value;
$("#YOUR_ID").attr("href",url)

或者使用纯JavaScript:

var url = "http://www.mysite.com?source=" + value;
var element = document.getElementById('YOUR_ID');
element.setAttribute("href",url)

1

将onload函数更改为:

function onLoad() {
   var value = getQueryVariable("ID");
   var e = document.getElementById('your-field');
   e.value = value;

   var url = "http://www.mysite.com?source=" + value;
   var element = document.getElementById('YOUR_<A>_ELEMENT_ID');
   element.setAttribute("href",url)
}

我正在使用Joao Almeida建议的代码片段,所以他使用jQuery的示例也很好。

祝你好运!


嗨,谢谢 :)请原谅我的无知,但是... a href 标签应该长什么样子?另外,我有三个不同的 a href 标签需要添加值... 上面的代码适用于任意数量的链接吗? - Lawrence

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接