基本的Vanilla Javascript示例不起作用

Basic Vanilla Javascript example not working

本文关键字:不起作用 Javascript Vanilla      更新时间:2023-09-26

有人能解释一下为什么这不起作用吗?

HTML

<p>
    <button class="selectable">Button</button>
</p>

Javascript

var selectable = document.getElementsByClassName('selectable');
selectable.onclick = function() {
    alert("Success");
}

https://jsfiddle.net/qpmsw5yg/

谢谢,

Justin

selectableHTMLCollection而不是Element。所以你应该听selectable[0]

更新的JSFiddle:https://jsfiddle.net/NeekGerd/qpmsw5yg/1/

因为document.getElementsByClassName返回一个集合。如果要在节点上设置处理程序,则必须指定一个单独的节点。

function onSelectableClick() {
    alert('Success');
}
var selectables = document.getElementsByClassName('selectable');
for (var i = 0; i < selectables.length; i++) {
    selectables[i].onclick = onSelectableClick;
}