0

每次用户单击页面上的链接时,我都会尝试弹出一个警告框-这样做只是为了练习以更好地理解概念-我无法让它适用于所有(“a”)标签。如果我指定 ie,我可以让它适用于一个(“a”)标签:getElementsByTagName("a")[0]...但是我不能让所有标签都以相同的方式响应。

这是代码

function links() {
    if(!document) return false;
    var link = document.GetElementsByTagName("a")[0];
    link.onclick = function() {
                       alert("hi");
                   }
}

我试着document.getElementsByTagNAme("a")[0:4]认为它可能像 python 一样工作,但事实并非如此。有人可以帮我吗?

谢谢!

4

2 回答 2

1

document.getElementsByTagName()返回与该标记匹配的元素数组。由于您引用的是第 0 个元素,因此只有第一个<a>标签会受到影响。

要解决此问题,您可以遍历数组并将 onclick 句柄应用于每个元素。

于 2013-09-20T18:50:41.497 回答
0

你可以这样尝试:

var link = document.getElementsByTagName("a");

for (var i = 0, j = link.length; i < j; ++i) {
    link[i].onclick = function() {
        alert("hi");
    }
}

这是一个 jsfiddle:http: //jsfiddle.net/v3f7U/

于 2013-09-20T18:51:31.297 回答