jQuery删除禁用的属性不起作用

时间:2018-07-25 15:45:20

标签: jquery properties attributes

这很奇怪,但是我不能从输入中删除禁用的属性,选择器正确,我可以将其隐藏为例:

jQuery(".hideit1").hide();`

我的输入

<input title="Adresse" name="billing[street][]" id="billing:street1" value="" id0="route" style="display: inline-block;" class="hideit1 input-text  required-entry disabled" type="text"> 

我尝试过:

jQuery(".hideit1").prop("disabled", false);
jQuery(".hideit1").removeAttr("disabled");
jQuery(".hideit1").prop('disabled', function (_, val) { return ! val; });
jQuery(".hideit1").removeProp('disabled');

this帖子的所有解决方案。

3 个答案:

答案 0 :(得分:1)

您使用的是类,而不是属性。请改用removeClass方法。

答案 1 :(得分:1)

您的元素中没有disabled属性,而是有一个disabled类,因此您可以使用jQuery方法.removeClass()删除它,就像这样:

jQuery(".hideit1").removeClass("disabled");

setTimeout(function() {
  $(".hideit1").removeClass("disabled");
}, 1000);
.disabled {
  background-color: #dadbdc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input title="Adresse" name="billing[street][]" id="billing:street1" value="" id0="route" style="display: inline-block;" class="hideit1 input-text  required-entry disabled" type="text">

答案 2 :(得分:1)

尝试使用

jQuery(".hideit1").removeClass('disabled');

jQuery(".hideit1").toggleClass('disabled');

您正在尝试删除未设置的属性,而该属性应该是类。