Javascript 单击可禁用多个按钮

Javascript 单击可禁用多个按钮,javascript,html,Javascript,Html,我有4个答案按钮,根据答案是否正确触发勾号或十字显示(“showDiv01”/“showDiv02”),我希望在单击任何按钮后禁用所有按钮,到目前为止,我只能禁用使用“onClick=this.disabled='true';”单击的按钮 杏仁白 Raspberry Diva我建议为您的按钮添加一个公共类(例如,假设您将btnClass作为您的类),此外,您可以为每个按钮单击使用相同的函数,无需为执行相同类型行为的按钮创建唯一的函数: function showDiv(el) { //"

我有4个答案按钮,根据答案是否正确触发勾号或十字显示(“showDiv01”/“showDiv02”),我希望在单击任何按钮后禁用所有按钮,到目前为止,我只能禁用使用“onClick=this.disabled='true';”单击的按钮

杏仁白

Raspberry Diva我建议为您的按钮添加一个公共类(例如,假设您将
btnClass
作为您的类),此外,您可以为每个按钮单击使用相同的函数,无需为执行相同类型行为的按钮创建唯一的函数:

function showDiv(el) {
    //"el" should be "this" passed in to the func
    var buttons = document.getElementsByClassName("btnClass");
    for (var i = 0; i < buttons.length; i++) {
        buttons[i].disabled = true;
    }
}

<button id="none" onClick="showDiv(this)"></button>
函数showDiv(el){
//“el”应该是传递给func的“this”
var buttons=document.getElementsByClassName(“btnClass”);
对于(变量i=0;i
传入
this
后,您可以通过函数中的
el
param直接访问正在单击的元素。因此
el.id
将生成所单击元素的id。

您有
showDiv01()在单击时调用的函数。将代码放在那里,以禁用按id查找的按钮

除此之外,我不认为你可以对不同的按钮有相同的ID,比如“没有”,我也会考虑把答案放在别处,而不是按钮ID。 我会将一些参数传递给
showDiv01()函数,如
showAnswerDiv(1)
showAnswerDiv(2)


通过这种方式,您可以根据参数执行操作,这比为有效或无效答案生成函数并将其固定到按钮要好得多。

元素无法共享ID的BTW您必须使用javascript选择要禁用的按钮。一旦知道一点javascript.id是独一无二的,就回来问问题吧。改用类。@InGodITrust抱歉,我刚才用“none”作为占位符,谢谢。@MariaWarnes没问题,只是指出了一下!
function showDiv(el) {
    //"el" should be "this" passed in to the func
    var buttons = document.getElementsByClassName("btnClass");
    for (var i = 0; i < buttons.length; i++) {
        buttons[i].disabled = true;
    }
}

<button id="none" onClick="showDiv(this)"></button>