<html>
<body>
<div>
<a href="#">Blah</a>
</div>
<script type="text/javascript">
document.getElementsByTagName("a").onclick(function () {
alert('Hello!');
});
</script>
</body>
</html>
问题:
在chrome-&gt;控制台中,它显示:
未捕获TypeError:对象#没有方法'onclick'
那么问题是什么以及如何解决?
答案 0 :(得分:2)
getElementsByTagName 会返回一个集合,因此您需要执行以下操作:
document.getElementsByTagName("a")[0].onclick = function () {
alert('Hello!');
};
注意0将导致考虑第一个锚点,因此请适当地使用索引来选择所需的索引(如果您有多个锚标记)。 还要注意onclick的语法。它是属性而不是方法。所以你需要使用赋值运算符=
来分配事件处理程序引用
答案 1 :(得分:0)
该方法返回一个集合(HTMLCollection),但它没有onclick
方法。
由于您只有一个元素,您可以使用集合中的第一个项目:
document.getElementsByTagName("a")[0].onclick(function () {
alert('Hello!');
});