Javascript 隐藏/显示多达100个DOM元素的最有效方法是什么?

Javascript 隐藏/显示多达100个DOM元素的最有效方法是什么?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,假设您最多有100个元素,其中它们的类型和格式不会改变,但它们的上下文会改变。(它们基本上是行) 这些行已绑定到输入,并将随着用户的键入而更改 实现最高性能的最佳方法是什么?重用元素,保留所有元素,但更改其上下文?还有别的吗 编辑、澄清: 搜索算法是不相关的,但我确实使用了MVVM(angularjs)框架,所以我所做的搜索是基于JavaScript的,不是瓶颈;得到结果后,我会相应地更新 另外,我不需要在DOM上搜索元素,我有对元素的引用,我希望在更新过程中最小化运行时间。如果只有100个元素

假设您最多有100个元素,其中它们的类型和格式不会改变,但它们的上下文会改变。(它们基本上是行)
这些行已绑定到输入,并将随着用户的键入而更改

实现最高性能的最佳方法是什么?重用元素,保留所有元素,但更改其上下文?还有别的吗

编辑、澄清:
搜索算法是不相关的,但我确实使用了MVVM(angularjs)框架,所以我所做的搜索是基于JavaScript的,不是瓶颈;得到结果后,我会相应地更新


另外,我不需要在DOM上搜索元素,我有对元素的引用,我希望在更新过程中最小化运行时间。

如果只有100个元素,这并不重要。只需设置样式对象的
display
属性来显示或隐藏它们。

使用所有行的唯一id,并使用jquery通过更改它们的值来操作它。

最好的方法是,将所有这些元素包装在一个div中,并将样式设置为外部div(假设它们是按您所说的行组合在一起)


为包装器div设置适当的样式


通常情况下,我认为我们不需要担心这些事情的性能,因为它们是非常琐碎的操作。

对于代码,这样就可以了

$(element).css('display' , 'none');
但性能问题取决于您如何找到这些元素, 关键是将元素包装到容器中,并仅搜索该容器中的元素

$('container').find('your_elements').css('display' , 'none');

$('your_elements', 'container').css('display' , 'none');
我会的

永远不要这样做:

$('your_elements').css('display' , 'none'); 

JS必须在整个dom中搜索该

我认为创建一个带有display none的CSS类,并将该类应用于TR元素,通过这样做,您将能够利用jquery选择器供以后使用
$('TR.hidden')
if(!$('TD').hasClass('hidden'))

如何在DIV中添加TR元素?实际上,您需要担心DOM操作性能,因为它是大多数js应用程序中最糟糕的性能瓶颈。我告诉过您,正如问题所说,它只有100个元素。ID在文档中应该是唯一的,而使用类是更好的方法。@Kashif Naseem是的……使用类也是有效的解决方案,但如果有20行和您必须更新第13行。然后任何新手都很难通过类选择该行。因此我建议使用ID,因为它是唯一的。
$('your_elements').css('display' , 'none');