【发布时间】:2014-08-21 02:07:48
【问题描述】:
我有一个复杂的 Javascript 应用程序,它根据应用程序状态和只读权限填充一个按钮:
但本质上,当按钮添加到文档中时,它看起来像这样:
<button type="button" id="..." class="btn btn-link btn-table-action btn-table-add-row" title="Add"></button>
id 是自动生成的,事先不知道。此外,我们还有几个这样的按钮,它们都需要同时禁用/启用。
我尝试了以下方法,但没有成功:
$(".btn-table-add-row").prop('disabled', true);
setInterval(function() {
$(".btn-table-add-row").prop('disabled', true);
}, 1000);
var elems = document.getElementsByClassName("btn-table-add-row");
console.log(elems);
for(var i = 0; i < elems.length; i++) {
elems[i].disabled = true;
}
以上示例都是在页面加载时尝试的,在文档加载并且按钮可见之后。我可以阅读最后一个示例中的 elems 列表,但它们不会禁用。有什么建议吗?
【问题讨论】:
-
您使用的是文档就绪处理程序吗?你的代码是正确的
-
你能为此制作一个小提琴吗?
-
@Satpal 是的,代码在大多数情况下看起来都是正确的。我认为这与按钮在DOM中生成的顺序有关
-
@j08691 - 我可以创建一个小提琴,但它不能准确表示我的问题,因为它是一个拥有数千行代码的企业应用程序,并且 DOM 渲染是由内部 javascript 完成的引擎。
-
如果您检查其中一个按钮,是否存在 disabled 属性?
标签: javascript jquery css button disabled-input