Javascript/jQuery按类名禁用按钮

Javascript/jQuery按类名禁用按钮,javascript,jquery,css,button,disabled-input,Javascript,Jquery,Css,Button,Disabled Input,我有一个复杂的Javascript应用程序,它根据应用程序状态和只读权限填充一个按钮: 但当按钮添加到文档中时,基本上是这样的: <button type="button" id="..." class="btn btn-link btn-table-action btn-table-add-row" title="Add"></button> 该id是自动生成的,并且之前不知道。此外,我们还有几个按钮,所有这些按钮都需要同时禁用/启用 我尝试了以下方法,但没有成功

我有一个复杂的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;
}
$(“.btn表添加行”).prop('disabled',true);
setInterval(函数(){
$(“.btn表添加行”).prop('disabled',true);
}, 1000);
var elems=document.getElementsByClassName(“btn表添加行”);
控制台日志(elems);
对于(变量i=0;i
以上示例都是在加载文档且按钮可见后在页面加载时尝试的。我能够读取上一个示例中的元素列表,但它们不会禁用。有什么建议吗?

我做了一把小提琴

测试
测试
$(“.btn表添加行”).prop('disabled',true);
$(“.btn表添加隐藏”).hide();
你说按钮是“可见的”。禁用按钮不会将其隐藏在页面中,除非有其他CSS选择器执行此操作


如果您试图隐藏需要在元素上调用.hide()的按钮。

正如Satpal和您自己所提到的,代码是正确的(至少是我试过的第一句话),因此问题可能在于按钮的创建顺序,或者在执行其他JS代码时出现错误,导致您的代码无法运行

我还为此创建了一个小提琴,您的代码正在运行:

$(文档).ready(函数(){
var btnAmount=Math.floor((Math.random()*10)+1);

对于(var i=0;i您是否使用文档就绪处理程序?您的代码是否正确?您是否可以为此创建一个提琴?@Satpal是的,代码在大多数情况下看起来都是正确的。我认为这与按钮在DOM@j08691-我可以做一把小提琴,但它不能准确地表达我的问题因为它是一个有几千行代码的企业应用程序,DOM渲染是由内部javascript引擎完成的。如果你检查其中一个按钮,禁用的属性是否存在?我想他只是说,当他运行此代码时,这些按钮是可见的。对于混淆,我深表歉意。我不是想隐藏按钮,只是禁用它们,然后重试从被点击到顶部。
<button type="button" class="btn btn-link btn-table-action btn-table-add-row" title="Add">test</button>

<button type="button" class="btn btn-link btn-table-action btn-table-add-hide" title="Add">test</button>

$(".btn-table-add-row").prop('disabled', true);
$(".btn-table-add-hide").hide();
$(document).ready(function(){
var btnAmount = Math.floor((Math.random() * 10) + 1);
for(var i=0; i<btnAmount;i++){
    var newButton = document.createElement("button");
    $(newButton).addClass("btn btn-link btn-table-action btn-table-add-row");
    newButton.id = "btn"+i;
    $(newButton).text("btn"+i);
    document.body.appendChild(newButton);
}
$(".btn-table-add-row").prop('disabled', true);