跳过以不更改输入属性元素

时间:2012-10-10 16:13:43

标签: jquery

我正在使用此代码更改所有元素属性, 如何跳过此代码不更改任何元素:例如,

$('[id^="lbl"] ! lbl1 ! lbl2').attr("disabled", true);

在该代码中lbl1和lbl2必须不更改

3 个答案:

答案 0 :(得分:3)

我建议:

$('[id^="lbl"]').not('#lbl1, #lbl2').prop("disabled", true);

请注意,您应该使用attribute-equals / attribute-starts-with选择器提供标识元素类型(如果可能),以减少jQuery查找给定元素所需的工作量。

您也可以使用filter()

$('[id^="lbl"]').filter(
    function(){
        var id = this.id;
        return id !== 'lbl1' && id !== 'lbl2';
    }).prop('disabled',true);

参考文献:

答案 1 :(得分:1)

尝试使用not selector,

$('[id^="lbl"]').not('#lbl1, #lbl2').prop("disabled", true);

DEMO: http://jsfiddle.net/vQFdM/

答案 2 :(得分:1)

$('[id^="lbl"]:not("#lbl1, #lbl2")').attr("disabled", true);