我有一个类似的链接:
<a href="http://www.example.com/">test</a>
和一个javascript变量:
var t='this';
如何使用纯javascript将链接上的点击转到http://www.example.com/'+this
?
(所以点击会生成一个动态网址,其末尾有变量t)
答案 0 :(得分:2)
你可以为你的主持人提供一个id:
<a href="http://www.example.com/" id="mylink">test</a>
然后:
var t = 'this';
document.getElementById('mylink').onclick = function() {
window.location.href = this.href + t;
return false;
};
显然,如果您将此脚本放在<head>
部分中,则在尝试附加点击处理程序之前可能需要等待DOM准备就绪:
window.onload = function() {
document.getElementById('mylink').onclick = function() {
window.location.href = this.href + t;
return false;
};
};
如果您无法修改DOM以为锚点提供唯一ID,则可以使用document.getElementsByTagName
方法,该方法将返回DOM中具有给定标记的所有元素的数组,然后您将必须循环通过它们并将onclick
处理程序附加到您的锚点。为了在您可能拥有的所有链接之间进行标识,您必须使用其innerHTML文本或当前的href属性。
答案 1 :(得分:0)
根据Darin solition,这将打开一个新窗口,不会修改原始内容;
window.onload = function() {
document.getElementById('mylink').onclick = function() {
window.open(this.href + t);
return false;
};
};