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