Javascript 使用事件侦听器更改按钮

Javascript 使用事件侦听器更改按钮,javascript,dom,Javascript,Dom,我有一个按钮元素列表,我正试图将eventlistener附加到该列表中,这样每当单击它时,INNERHTML就会发生变化。我的代码如下。else if语句从不触发。 有人能帮助我理解我做错了什么,以及如何修复它吗 让editButtons=document.getElementsByCassName(“editBtns”); 对于(让btn=0;btn,所以这里的问题是if语句使用赋值运算符=,而不是比较运算符=。为了使if…else语句工作,用=替换它。类似的东西就足够了 let edit

我有一个按钮元素列表,我正试图将
eventlistener
附加到该列表中,这样每当单击它时,
INNERHTML
就会发生变化。我的代码如下。
else if
语句从不触发。 有人能帮助我理解我做错了什么,以及如何修复它吗


让editButtons=document.getElementsByCassName(“editBtns”);

对于(让btn=0;btn,所以这里的问题是if语句使用赋值运算符
=
,而不是比较运算符
=
。为了使
if…else
语句工作,用
=
替换它。类似的东西就足够了

let editButtons = document.getElementsByClassName("editBtns");
for(let btn =0; btn<editButtons.length; btn++ ){
    editButtons[btn].addEventListener('click', function(e){
        e.preventDefault();
        toggleButton(this);
    });
}

function toggleButton(btnElement){
    if(btnElement.innerHTML == 'update'){
       btnElement.innerHTML= 'edit';
    }
    else
       btnElement.innerHTML= 'update';
    }
}
let editButtons=document.getElementsByClassName(“editBtns”);

对于(让btn=0;btn应该是
btneElement.innerHTML==='edit'
。请注意
===
==
=
之间的区别,请参见上面的注释。此外,btneElement.innerHTML='edit'将返回'edit'-一个非空字符串,在if()中转换为true。这就是为什么您的else if从不触发的原因。:)啊,菜鸟的错误。谢谢