Javascript 有没有更快的方法隐藏/显示html元素?

Javascript 有没有更快的方法隐藏/显示html元素?,javascript,html,Javascript,Html,我想要一种更快的方式来显示/隐藏大约20000+个dom元素 我发现使用element.style.display=“none” 我想这是因为我造成了太多的浏览器回流 但是仅仅element.style.visibility=“hidden”是不够的,因为元素的高度仍然存在 还有更好的办法吗 我只能用谷歌闭包 有一个可运行的示例。但在我的项目中,大约有20000多个复选框 函数过滤器\u更改(txt){ var eles=document.getElementsByClassName(“复选框

我想要一种更快的方式来显示/隐藏大约20000+个dom元素

我发现使用
element.style.display=“none”

我想这是因为我造成了太多的浏览器回流

但是仅仅
element.style.visibility=“hidden”
是不够的,因为元素的高度仍然存在

还有更好的办法吗

我只能用谷歌闭包

有一个可运行的示例。但在我的项目中,大约有20000多个复选框

函数过滤器\u更改(txt){
var eles=document.getElementsByClassName(“复选框容器”);
对于(变量i=0;i

复选框1
复选框2
复选框3
复选框4
复选框5
复选框10
复选框100
复选框\u 1000
复选框10000
15000欧元
2万欧元
您可以使用CSS:

.checkbox_container input[id*='15'] {
   display: none;
}

或者在javascript代码中使用CSS选择器,并添加类:

document.querySelectorAll('.checkbox_container input[id*="' + txt.value '"]')
   .forEach(el => el.classList.add('hidden'))
将类“隐藏”定义为:

.hidden { display: none; }
重要


使用javascript代码时,请确保验证
txt.value
,使其仅包含对CSS类名有效的字符。

请提供一个,谢谢。您是否尝试过jQuery
$(选择器)。hide()
?您使用了哪些库?您使用的框架是什么?你的代码在哪里?@zer00ne这个例子已经添加了,请检查任何有20k dom元素被操纵的东西都会“慢”…非常感谢,我使用
如果(txt==null | | | txt.length==0){style.innerHTML=“.checkbox_容器:not([title*='+txt+')){display:none;}}
并且它会加快一点速度bit@BabyCabbage-请注意,javascript中的您(也称为[邪恶双胞胎])。相反,请使用
==
。。。。