有选择地设置 div jQuery 中多个输入的属性



我的div包括选择类型,文本输入,复选框和其他各种输入

我已经成功地设法将div 中所有元素的禁用属性设置为true 使用下面的代码在 jQuery 中。

$("#for_all_div1 :input").attr("disabled", true);
$("#for_all_div2 :input").attr("disabled", true);

我的问题是如何为div 中的所有输入设置属性,但跳过复选框输入。

谢谢

如果要禁用除复选框之外的所有输入,请使用:not(:checkbox)

$("#for_all_div2 :not(:checkbox)").prop("disabled", true);

此外,最好使用 .prop() 而不是.attr()来设置禁用的属性。

演示

$("#for_all_div2 :not(:checkbox)").prop("disabled", true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="for_all_div2">
<input type="text" />
<input type="checkbox" />
</div>

使用.not()

$("#for_all_div2 :input").not("[type=checkbox]")
.attr("disabled", true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="for_all_div2">
<input type="text" /><br>
<input type="text" />
<input type="checkbox" />
</div>

最新更新