使用事件侦听器更改按钮



我有一个按钮元素列表,我试图将eventlistener附加到这样,每当它被单击时,INNERHTML就会发生变化。我的代码如下。else if语句永远不会触发。有人能帮助我了解我做错了什么,如何解决它?


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

function toggleButton(btnElement, spanElement){
if(btnElement.innerHTML= 'edit'){
btnElement.innerHTML= 'update';
} 
else if(btnElement.innerHTML= 'update'){
btnElement.innerHTML= 'edit';
}
}

所以这里的问题是你的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';
}
}

最新更新