如果我只知道该元素的名称,如何禁用页面上的按钮
How can I disable a button on my page if I know only the name of that element?
我有以下 HTML:
<button name="darkBlue" onclick="setThemeColor(this.name)">Blue</button>
<button name="black" onclick="setThemeColor(this.name)">Black</button>
和这个脚本:
if (localStorage.buttonColor) {
var themeButtons = document.querySelectorAll(".theme");
for (var button in themeButtons) {
themeButtons[buttons].removeAttribute("disabled");
}
// I need here to disable the button with the name that matches localstorage name
}
我已经有一种方法可以从所有按钮中删除禁用者。但是在那之后,我如何在不使用jQuery的情况下禁用与localStorage.buttonColor同名的按钮呢?
我也可以在for (var button in themeButtons)
循环中完成所有这些操作吗?如果我能做到这一点,它可能会更干净
如果只有一个按钮:
document.querySelector('button[name="' + localStorage.buttonColor + '"]').disabled = true;
或:
var el = document.getElementsByName(localStorage.buttonColor);
if (el) {
el[0].disabled = true;
}
如果有多个元素:
var all = document.querySelectorAll('button[name="' + localStorage.buttonColor + '"]');
for (var i = 0, len = all.length; i<len; i++){
all[i].disabled = true;
}
如果有多个按钮,并且您需要启用不共享localStorage.buttonColor
名称的按钮:
var buttons = document.getElementsByTagName('button'),
buttonsQSA = document.querySelectorAll('button');
// iterate over whichever collection you prefer to use
for (var i = 0, len = buttonsQSA.length; i<len; i++){
buttonsQSA[i].disabled = buttonsQSA[i].name == localStorage.buttonColor;
}
相关文章:
- 单击一次后禁用按钮-第2部分
- 根据两个下拉列表的默认值禁用按钮
- 禁用按钮仍侦听单击事件
- Sencha禁用按钮和Selenium Web驱动程序
- 在DropZone中上载文件时禁用按钮
- 更改PHP中禁用按钮的外观
- 如何在调用回调之前禁用按钮
- 单击3次后禁用按钮
- 如何使用AngularJS禁用按钮
- 当对象中的所有变量都为false时,AngularJs禁用按钮
- 禁用按钮,直到完成所有必填字段
- 当文本框中包含数据时禁用按钮
- 启用/禁用按钮,单击并执行 SQL 时会发生变化
- 如何在更改节点 JS 表中的复选框时禁用按钮
- 使用 javascript 启用/禁用按钮
- 验证失败时禁用按钮
- 如果只剩下一行,则禁用按钮
- 如果$invalid,禁用按钮angular
- 基于比较c#中gridview的文本框值来启用或禁用按钮
- 如何使用java脚本代码计算禁用按钮的时间