我试图选择<a>页面中的所有标签并注册onclick它们。
我的代码:
document.getElementsByTagName('a').onclick = show;
var show = function(){
alert('hahahha');
}
Run Code Online (Sandbox Code Playgroud)
它不起作用,我的大脑现在很混乱。有任何想法吗?多谢。
您将onclick属性设置为元素数组,而不是像您需要的那样单独设置为每个元素。show另外,你在使用它之后才定义它。
var elts = document.getElementsByTagName('a');
var show = function() { alert('hahahha'); }
for (var i = elts.length - 1; i >= 0; --i) {
elts[i].onclick = show;
}
Run Code Online (Sandbox Code Playgroud)
向后迭代数组比elts.length每次都进行测试更有效。如果需要向前迭代,请将数组长度存储在变量中以提高效率。