【问题标题】:Disable ALL Buttons and re-enable after defined seconds Javascript禁用所有按钮并在定义秒后重新启用 Javascript
【发布时间】:2020-10-15 02:14:42
【问题描述】:

我正在尝试禁用 HTML 页面上的 ALL 按钮,然后在 x 秒后再次启用它们(在示例中为 5 秒)。按钮 ID 是动态创建的,并且会更改页面刷新,所以我无法使用 document.getElementById。

此代码适用于选择 ID,但我怎样才能让它选择所有按钮?如果有帮助,所有按钮都有“btn”类

function submitPoll() {
    document.getElementById("votebutton112233").disabled = true;
    setTimeout(function() {
        document.getElementById("votebutton112233").disabled = false;
    }, 5000);
}
document.getElementById("votebutton112233").addEventListener("click", submitPoll);

我尝试过的代码不起作用:

document.getElementById("votebutton") 替换为

document.getElementsByClassName("btn")

或将其替换为 document.getElementsByTagName('button')

jQuery 不是首选,但如果必须,我会使用它

【问题讨论】:

标签: javascript html


【解决方案1】:

遍历所有匹配.btn选择器字符串的元素:

function submitPoll() {
  const btns = document.querySelectorAll('.btn');
  for (const btn of btns) {
    btn.disabled = true;
  }
  setTimeout(() => {
    for (const btn of btns) {
      btn.disabled = false;
    }
  }, 5000);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-15
    • 2020-11-08
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2015-08-06
    相关资源
    最近更新 更多