动态链接制作和纯JavaScript

时间:2012-02-24 16:58:25

标签: javascript

我有一个类似的链接:

<a href="http://www.example.com/">test</a>

和一个javascript变量:

var t='this';

如何使用纯javascript将链接上的点击转到http://www.example.com/'+this

(所以点击会生成一个动态网址,其末尾有变量t)

2 个答案:

答案 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;
    };
};