关于getElementsByTagName

时间:2013-09-20 18:48:22

标签: javascript getelementsbytagname

每次用户点击页面上的链接时,我都会尝试弹出一个警告框 - 只是为了更好的概念理解而执行此操作 - 我无法让它为所有人工作(“a” )标签。如果我指定的话,我可以让它适用于一个(“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一样工作,但是没有这样做。有人可以帮助我吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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/