JavaScript的除去“禁用”从HTML输入属性(javascript remove “disa

2019-06-17 14:12发布

我怎样才能把使用JavaScript的HTML输入“已禁用”属性?

<input id="edit" disabled>

在的onClick我希望我的输入标签不包括“已禁用”属性。

Answer 1:

元素的设置disabled属性设置为false:

document.getElementById('my-input-id').disabled = false;

如果你正在使用jQuery,相当于将是:

$('#my-input-id').prop('disabled', false);

对于几个输入字段,可以通过类,而不是访问它们:

var inputs = document.getElementsByClassName('my-input-class');
for(var i = 0; i < inputs.length; i++) {
    inputs[i].disabled = false;
}

document可以用一种形式来代替,例如,只查找表单中的元素。 你也可以使用getElementsByTagName('input')来获取所有输入元素。 在你for迭代,你则必须检查inputs[i].type == 'text'



Answer 2:

为什么不直接删除属性?

  1. 香草JS: elem.removeAttribute('disabled')
  2. jQuery的: elem.removeAttr('disabled')


Answer 3:

要设定disabled使用假name输入的特性:

document.myForm.myInputName.disabled = false;


Answer 4:

method 1 <input type="text" onclick="this.disabled=false;" disabled>
<hr>
method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
<hr>
method 3 <input type="text" onclick="this.removeAttribute('readonly');" readonly>

以前的答案的代码似乎并不在串联模式下工作,但有一个解决方法:方法3。

看到演示https://jsfiddle.net/eliz82/xqzccdfg/



文章来源: javascript remove “disabled” attribute from html input