jQuery中启用disabled元素的三种实现方式

作者:阿沐时间:2026-10-23 20:52:05浏览:161

本文介绍了在jQuery中如何将处于disabled状态的表单元素重新启用。通过三种不同的方式实现:利用attr修改布尔值、使用removeAttr移除属性以及通过覆盖属性值为空字符串。文章提供了详细的代码示例和完整的HTML测试页面,帮助开发者理解不同方法的操作逻辑与适用场景。

jQuery启用禁用元素的三种方法

本文介绍了三种可行的变通方案,用于将原本处于禁用(disabled)状态的元素重新设置为启用(enabled)状态。


方法一:修改disabled布尔值

第一种方法是通过修改disabled属性的布尔值来实现。具体代码及详细解释如下:


代码示例如下:

$("button:eq(2)").click(function(){
var text2=$("input:text:eq(2)");
if(text2.attr("disabled")==false){
//通过设置disabled的boolean属性将第三个text输入框disabled属性置为true
text2.attr("disabled",true);
}else{
//通过将第三个text输入框disabled属性置为false来移除disabled属性
text2.attr("disabled",false);
} 
});

方法二:移除disabled属性

第二种方法是通过直接移除disabled属性来实现。具体代码及详细解释如下:


代码示例如下:

$("button:eq(1)").click(function(){
var text2=$("input:text:eq(1)");
if(text2.attr("disabled")==false){
//通过设置disabled的值将第二个text输入框置为disabled
text2.attr("disabled","disabled");
}else{
//通过移除的方式将第二个text输入框的disable属性删除
text2.removeAttr("disabled");
} 
});

方法三:覆盖disabled属性值

第三种方法是通过改变disabled属性的值来实现。具体代码及详细解释如下:


代码示例如下:

$("button:eq(0)").click(function(){
var text1=$("input:text:eq(0)");
if(text1.attr("disabled")==""){
// 或者text1.attr("disabled")==false
//通过设置disabled的值将第一个text输入框置为disabled
text1.attr("disabled","disabled");
}else{
//通过覆盖的方式将第一个text输入框中的disabled属性清除掉
text1.attr("disabled","");
} 
});

完整的示例代码如下(已测试通过):

完整示例代码

完整的示例代码如下(已测试通过):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head> <script src="jquery的路径引入就行了"></script>
<script type="text/javascript"><!--
$(document).ready(function () {
$("button:eq(0)").click(function () {
var text1 = $("input:text:eq(0)");
if (text1.attr("disabled") == "") {
// 或者text1.attr("disabled")==false
//通过设置disabled的值将第一个text输入框置为disabled
text1.attr("disabled", "disabled");
} else {
//通过覆盖的方式将第一个text输入框中的disabled属性清除掉
text1.attr("disabled", "");
} 
}); 
$("button:eq(1)").click(function () {
var text2 = $("input:text:eq(1)");
if (text2.attr("disabled") == false) {
//通过设置disabled的值将第二个text输入框置为disabled
text2.attr("disabled", "disabled");
} else {
//通过移除的方式将第二个text输入框的disable属性删除
text2.removeAttr("disabled");
} 
}); 
$("button:eq(2)").click(function () {
var text2 = $("input:text:eq(2)");
if (text2.attr("disabled") == false) {
//通过设置disabled的boolean属性将第三个text输入框disabled属性置为true
text2.attr("disabled", true);
} else {
//通过将第三个text输入框disabled属性置为false来移除disabled属性
text2.attr("disabled", false);
} 
}); 
}); 
// --></script>
</head>
<body>
<button>disabledNull</button>
<input type="text" value="input something into me!" size="40"/>
<br/>
<button>disabledRemove</button>
<input type="text" value="input something into me!" size="40"/>
<br/>
<button>disabledState</button>
<input type="text" value="input something into me!" size="40"/>
</body>
</html>
作者最新文章