jquery设置disabled属性
使用 prop() 方法设置 disabled 属性
通过 jQuery 的 prop() 方法可以动态设置元素的 disabled 属性。此方法直接操作 DOM 属性,适用于表单元素(如 input、button、select 等)。
语法:
$("#elementId").prop("disabled", true); // 禁用元素
$("#elementId").prop("disabled", false); // 启用元素
示例:
<input type="text" id="username" value="示例文本">
<button id="disableBtn">禁用输入框</button>
<button id="enableBtn">启用输入框</button>
<script>
$("#disableBtn").click(function() {
$("#username").prop("disabled", true);
});
$("#enableBtn").click(function() {
$("#username").prop("disabled", false);
});
</script>
使用 attr() 方法设置 disabled 属性
attr() 方法也可用于设置 disabled 属性,但需注意 HTML 与 DOM 属性的区别。在 jQuery 1.6+ 版本中,推荐优先使用 prop()。

语法:
$("#elementId").attr("disabled", "disabled"); // 禁用元素
$("#elementId").removeAttr("disabled"); // 启用元素
示例:

$("#checkbox").attr("disabled", "disabled"); // 禁用复选框
$("#checkbox").removeAttr("disabled"); // 启用复选框
动态切换 disabled 状态
通过条件判断或当前状态切换元素的禁用状态。
示例:根据条件禁用按钮
if (someCondition) {
$("#submitBtn").prop("disabled", true);
}
示例:切换按钮状态
$("#toggleBtn").click(function() {
$("#targetElement").prop("disabled", function(_, currentVal) {
return !currentVal; // 反转当前状态
});
});
注意事项
- 性能差异:
prop()直接操作 DOM 属性,性能优于attr()。 - 布尔值处理:
prop()接受布尔值(true/false),而attr()需用字符串(如"disabled")。 - 版本兼容性:jQuery 1.6+ 推荐使用
prop()处理布尔属性(如checked、disabled)。
通过以上方法,可以灵活控制页面元素的禁用与启用状态。






