Javascript 什么更快-检查元素属性与检查元素位置

Javascript 什么更快-检查元素属性与检查元素位置,javascript,performance,Javascript,Performance,好的。。。我有以下设置: 小时候有n个div的div(n相当大)。我需要隐藏/删除第3、第4、第5、第6、第9、第10、第11、第12、第15、第16等(n+1模6>1-0和1不会被隐藏),但我认为删除更好,如果你在这里有帮助的话 什么更快: 获取父div子级并使用逻辑隐藏div: childrenArray = document.getElementById('id').childNodes; lng = childrenArray.length; for (i = 0; i < lng

好的。。。我有以下设置:

小时候有n个div的div(n相当大)。我需要隐藏/删除第3、第4、第5、第6、第9、第10、第11、第12、第15、第16等(n+1模6>1-0和1不会被隐藏),但我认为删除更好,如果你在这里有帮助的话

什么更快: 获取父div子级并使用逻辑隐藏div:

childrenArray = document.getElementById('id').childNodes;
lng = childrenArray.length;
for (i = 0; i < lng; i++) 
  if (i % 6 > 1)
    // Remove here.
childrenArray=document.getElementById('id').childNodes;
lng=儿童阵列长度;
对于(i=0;i1)
//从这里移除。
或者将类添加到所需的节点并进行检查。jQuery类选择器(或一个手写脚本,实际上更快),然后删除

注:在你告诉JQuery类选择器之前,最好考虑数组仍然被检查。


那么,基本上什么更快呢?检查元素属性或进行数学运算和比较?

父类+css规则将是最快的方法,但您最好对其进行测试

.hide-all-but-each-6th * { display:none }
.hide-all-but-each-6th *:nth-child(6n) { display: block }`

不太确定,但我认为第一个选项会更快,因为如果向元素添加class属性,那么jquery选择器将必须查看整个文档,因为多个元素可以具有相同的类,因此它必须遍历整个文档

但在第一种情况下,如果您找到了所需的深度,则不需要查看整个文档。这样会更快。 您还可以使用id属性来选择所需的元素