当id不同时,禁用某些按钮javascript

时间:2018-03-19 14:58:34

标签: javascript jquery html

我想在特定时间禁用某组按钮。使用这个js:

document.getElementById("reset").setAttribute('disabled','disabled');

但是所有ID都不同,按钮就像<button id=1> <button id=2>等。我可以设置一些像<button group="hello">

这样的组成变量吗?

然后做这样的事情:

document.getElementById("group:hello").setAttribute('disabled','disabled');

禁用所有按钮,即使ID属性与按钮不同?

8 个答案:

答案 0 :(得分:1)

您可以使用数据属性,请参阅下一步:

<button  data-group="hello" id="button1">test1</button>
<button  data-group="hello" id="button2">test2</button>
<button  data-group="hello" id="button3">test3</button>

和JS

 document.querySelectorAll('[data-group="hello"]').forEach(function(button) {
      button.disabled = true;
});

编辑,这是小提琴https://jsfiddle.net/xycmj4gv/2/

答案 1 :(得分:0)

使用class而不是ID。 代码很简单:

document.getElementsByClassName("group1").setAttribute('disabled','disabled');

答案 2 :(得分:0)

因为您标记了jquery

$(".mybutton").attr("disabled", true);

我的按钮是

<button class= "mybutton"> </button>

答案 3 :(得分:0)

使用class代替id,如下所示:

var elements = document.getElementsByClassName("{yourClassName}");
var i;
for (i = 0; i < x.length; i++) {
    elements[i].setAttribute(“disabled”, “red");
}

<button class="{yourClassName}”></button>

答案 4 :(得分:0)

您可以使用getElementsByTagName获取所有按钮,然后您可以使用Array.Prototype.forEach禁用所有按钮,如下所示。 forEach将循环遍历所有元素,并将所需属性(在您的情况下禁用)添加到所有找到的元素。

Array.prototype.forEach.call
(document.getElementsByTagName("button"), function(e) {
      e.setAttribute('disabled','disabled');
 });
<button id="1">12</button> <button id="2">12</button>
<button id="3">12</button> <button id="4">12</button>

答案 5 :(得分:0)

您可以在ID中使用通配符:

启动选择器

document.querySelector("[id^=myId]")

适用于

id="myId1"
id="myId2"
...

或Ends-with选择

document.querySelector("[id$=myId]")

适用于

id="firstMyId"
id="secondMyId",...

提示: 请不要使用以下数字来启动ID:id =&#34; 1myId&#34;。这不符合

答案 6 :(得分:0)

使用class来分组按钮,如下所示:

var btnsGroup = document.getElementsByClassName('group');
Array.prototype.forEach.call(btnsGroup, function(button) {
  button.setAttribute('disabled','disabled');
});

答案 7 :(得分:0)

你可以这样做 -

public void createUnits() {
    units[0] = new Unit("FIT1234", "Advance Bogosorts");
    units[0].studentList.add(new Student(1234, "Mark", "Stevens"));
    units[0].studentList.add(new Student(5678, "Steven", "Perry"));

    units[1] = new Unit("FIT2345", "Java Programming");
    units[1].studentList.add(new Student(9012, "Cooper", "Smith"));

    units[2] = new Unit("FIT3456"," Java Fundamentals");
}

HTML就是这样 -

var buttons = document.querySelectorAll("[reset='true']");

for (i = 0; i < buttons.length; ++i) 
{
    buttons[i].setAttribute('disabled','disabled');
}