disabled对于所有的表单元素都有效,包括select,radio, checkbox, button等。
但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去

var fall = $('#XXX');

// 下面三种方法的结果都是 disabled= 'disabled'
fall.attr("disabled", true);
fall.attr("disabled", "disabled");
fall.attr("disabled", "");

// !!!!  下面两种方法会移除disable属性,但是控件依然不可用。
// IE9以上鼠标划过后可用。IE8始终不可用
fall.attr("disabled", false);
fall.removeAttr("disabled");

 

// 下面三种方法可以正常移除disable属性
fall.prop("disabled", false);
fall.prop("disabled", "");
fall.removeProp('disabled');


// 参数除了false和""外的任何值,都会置 disabled= 'disabled'
fall.prop("disabled", true);

// 或者使用DOM方法移除disable
fall[0].disabled = false;
fall[0].disabled = "";

总结:JQuery版本过低时,removeAttr("disabled") 会不起作用。此时,可以使用prop方法或者原生DOM方法来实现相关功能

 

posted on 2020-02-25 14:46  五星  阅读(2308)  评论(0)    收藏  举报