This question already has an answer here:
jQuery - Improving Performance / Code
                                
                                    (1个答案)
                                
                        
                6年前关闭。
            
        

请问如何使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,
                    ...
 });


记住要删除禁用属性以实际启用元素:

$('.gestionSuperVision2').removeAttr("disabled").


您将得到类似以下内容:

    $(".gestionSupervision2").prop({'checked': true,value:'true'}).removeAttr("disabled");


jQuery将在后台为您完成其余的工作。希望这会有所帮助。

关于javascript - jQuery dom Explorer代码的优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21831053/

10-09 03:44