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你是说这样的话吗?