jQuery:检查已禁用的属性并添加/删除它?

我选择一个表单的所有输入元素,如下所示:

var fields = $( form + " :input" ).not( "button" ); 

如何检查这些输入中是否有任何设置已disabled属性并在存在时将其删除?

另外,我需要在删除之后添加它(并在其间序列化字段),这是否有一种优雅的方式? 像toggle但属性的东西?

假设您使用的是jQuery 1.6或更高版本,建议的方法是使用.prop() 。

fields.prop("disabled", false);

如果你需要围绕每个人有逻辑,你可以做一些事情

 var fields = $( form + " :input" ).not( "button" ); fields.each(function(index, element) { var isDisabled = $(element).is(':disabled'); if (isDisabled) { $(element).prop('disabled', false); } else { // Handle input is not disabled } }); 

的jsfiddle

使用:禁用选择器 `试试这个

 $('input:disabled').remove(); 

您可以使用disabled选择器

 $('input:disabled').attr('disabled', ''); 

看到这里

http://jsfiddle.net/JngR9/

去除

 $('input:disabled').removeProp('disabled'); 

要么

 $('input:disabled').prop('disabled', 'disabled'); 

加上

 $('input:disabled').prop('disabled', 'disabled');