我该如何做这个code work请问有更好的性能吗?
规则:
- 如果
option[value='admin']
已选中,请选中所有复选框。如果没有,请全部取消选中。 - 如果选中某个复选框,请将其值更改为
true
,如果不是false
. - 如果
.gestionSupervision && .gestionSupervision2
已选中,选中所有复选框并选择option[value='admin']
. 如果
.gestionSupervision && .gestionSupervision2
取消选中,选择option[value='sei']
.如果
.gestionSupervision
已选中,.gestionSupervision2
一定是。- 如果
.gestionSupervision
未选中,.gestionSupervision2
一定是。 - 如果
.gestionSupervision2
已选中,.gestionSupervision
一定是。 - 如果
.gestionSupervision2
已选中,.gestionSupervision
一定是。
请注意隐藏的复选框。
最佳答案
首先,您可以将选择器保存在如下变量中:
var gestionSupervision2 = $(".gestionSupervision2");
这样你就可以引用它,避免每次都查询 DOM
然后您还可以使用以下方法在一个选择器中设置所有属性:
gestionSupervision2.prop({
'checked', true,
...
});
请记住删除属性disable以实际启用该元素:
$('.gestionSuperVision2').removeAttr("disabled").
你最终会得到类似的结果:
$(".gestionSupervision2").prop({'checked': true,value:'true'}).removeAttr("disabled");
jquery 会在幕后为您完成剩下的工作。希望这会有所帮助。
关于javascript - jquery dom explorer代码的优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831053/