Javascript 为什么document.getElementsByClassName在我的案例中不起作用

Javascript 为什么document.getElementsByClassName在我的案例中不起作用,javascript,html,Javascript,Html,为什么我的小提琴没有按预期工作 <button class="example"> Expirience </button> var x = document.getElementsByClassName("example"); x.onClick = function() { console.log('Hello') } 过期 var x=document.getElementsByClassName(“示例”); x、 onClick=function()

为什么我的小提琴没有按预期工作

<button class="example"> Expirience </button>



var x = document.getElementsByClassName("example");

x.onClick = function() {
  console.log('Hello')
}
过期 var x=document.getElementsByClassName(“示例”); x、 onClick=function(){ console.log('Hello') }

GetElementsByCassName返回一个数组

var x = document.getElementsByClassName("example")[0];
var x=document.getElementsByClassName(“示例”);
console.log(x)
x[0]。addEventListener(“单击”,函数(){
console.log('Hello')
});

Expirience
您的代码有几个问题,下面是一个工作示例,其中有关于错误的注释

var x=document.getElementsByClassName(“示例”);
//x是一个数组,需要在数组中的元素上循环
对于(变量i=0;i
。示例{
颜色:红色;
}
到期日
var x=document.querySelector(“.example”);
x、 addEventListener('单击',函数()){
console.log('Hello')
});

expirence
x
是元素的
NodeList
,因此您必须在元素上循环并单独处理每个元素。此外,事件处理程序都是小写的(
onclick
)。你想要:

var buttons=document.getElementsByClassName(“示例”);
Array.prototype.forEach.call(按钮、函数(按钮){
button.onclick=函数(){
log('Hello');
}
})

expirence
我还想补充一点,
.onclick
是使用@mountainconversator语法时的正确例子。@JohnPavek你是说这样的话吗?