首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于getElementsByTagName

关于getElementsByTagName
EN

Stack Overflow用户
提问于 2013-09-21 02:48:22
回答 2查看 92关注 0票数 0

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

以下是代码

代码语言:javascript
复制
function links() {
    if(!document) return false;
    var link = document.GetElementsByTagName("a")[0];
    link.onclick = function() {
                       alert("hi");
                   }
}

我尝试过document.getElementsByTagNAme("a")[0:4],认为它可以像python一样工作,但没有成功。有人能帮帮我吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-09-21 02:50:41

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

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

票数 1
EN

Stack Overflow用户

发布于 2013-09-21 02:51:31

您可以像这样尝试:

代码语言:javascript
复制
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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18923810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档