0

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

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

在该代码中 lbl1 和 lbl2 不得更改

4

3 回答 3

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);

参考:

于 2012-10-10T16:16:13.777 回答
1
$('[id^="lbl"]:not("#lbl1, #lbl2")').attr("disabled", true);
于 2012-10-10T16:17:19.980 回答
1

尝试使用非选择器,

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

演示:http: //jsfiddle.net/vQFdM/

于 2012-10-10T16:16:44.897 回答