Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多属性的jQuery复选框选择器_Jquery_Attributes_Checkbox_Selector - Fatal编程技术网

具有多属性的jQuery复选框选择器

具有多属性的jQuery复选框选择器,jquery,attributes,checkbox,selector,Jquery,Attributes,Checkbox,Selector,我有一个jQuery选择器不工作,请尽我最大的努力修复它。有什么建议吗 $(':checkbox:(not(:checked))[name=this.name][value="Done"]').attr({ checked: 'checked', disabled: 'disabled' }); 它应该选中并禁用一个复选框,如果该复选框尚未选中,则其名称属性为this.name,值为

我有一个jQuery选择器不工作,请尽我最大的努力修复它。有什么建议吗

            $(':checkbox:(not(:checked))[name=this.name][value="Done"]').attr({
                checked: 'checked',
                disabled: 'disabled'
            });
它应该选中并禁用一个复选框,如果该复选框尚未选中,则其名称属性为this.name,值为Done

我一直在摆弄它,但我不知道这是否管用。

这应该可以:

$('input[name=' + this.name + '][value=Done][type=checkbox]:not(:checked)').attr({
    checked: 'checked',
    disabled: 'disabled'
});
更新示例:

您需要将
this.name
的值连接到选择器中

我还向选择器添加了
input
,使其更快

另外,在
:not()
周围还有一个额外的
()
,因此它看起来像
:(not())
,这是无效的


编辑:

我只是想指出,我已经用
[type=checkbox]
替换了
:checkbox
选择器,以使您的选择器对
querySelectorAll
有效

现在,它将在支持
qsa

的浏览器中获得巨大的性能提升,这应该可以做到:

$('input[name=' + this.name + '][value=Done][type=checkbox]:not(:checked)').attr({
    checked: 'checked',
    disabled: 'disabled'
});
更新示例:

您需要将
this.name
的值连接到选择器中

我还向选择器添加了
input
,使其更快

另外,在
:not()
周围还有一个额外的
()
,因此它看起来像
:(not())
,这是无效的


编辑:

我只是想指出,我已经用
[type=checkbox]
替换了
:checkbox
选择器,以使您的选择器对
querySelectorAll
有效


现在,它将在支持
qsa

的浏览器中获得巨大的性能提升,将
[name=this.name]
更改为
[name=“”+this.name+”]

:checkbox
[type=“checkbox”]


[name=this.name]
更改为
[name=“”+this.name+”]

:checkbox
[type=“checkbox”]