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

时间:2017-11-01 08:03:08

标签: javascript jquery html

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

我已成功设法使用jQuery中的以下代码将div中所有元素的disabled属性设置为true

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

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

谢谢,

2 个答案:

答案 0 :(得分:2)

如果要禁用除复选框以外的所有输入: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>

答案 1 :(得分:0)

使用.not()

&#13;
&#13;
$("#for_all_div2 :input").not("[type=checkbox]")
.attr("disabled", true);
&#13;
<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>
&#13;
&#13;
&#13;