javascript - jquery dom explorer代码的优化

标签 javascript jquery dom optimization checkbox

我该如何做这个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/

相关文章:

jquery - 拖放表格行

javascript - 在 Javascript 中处理子窗口和孙窗口

javascript - 如何根据浏览器选择 `window.URL.createObjectURL()`和 `window.webkitURL.createObjectURL()`

php - 无法理解如何使用 PHP DOMDocument::getElementById

javascript - AngularJS 显示 JSON 数据

javascript - 为什么Array是instanceof Object?

javascript - 我可以使用哪些方法来重新排列 javascript 函数的执行顺序?

javascript - 如果 span 元素包含具有特定类的 div,则隐藏元素

javascript - 使用箭头键控制页面位置

javascript - 如何交换第一个和最后一个 DOM 元素