我有一个有很多行的表(比如10.000行)。
(注意:我知道拥有这么大的表是没有意义的,但我想了解一下下面的行为)。
当我收到新数据时,我想先清除行。奇怪的是,清空表格所需的时间比从头构建行要长得多。使用html("")
或普通的JS innerHTML = ""
清除表行需要1.5分钟,比构建行本身需要不到一秒的时间要多得多。
所以我的问题是:
(请注意,我的问题是为什么是 one,我不是在寻找可能的解决方法)。
更新
我注意到表行和单元格应用了浮动定义,当我删除浮动时,表在一个实例中被清空。
我仍然很想理解为什么使得删除行的速度变得如此之慢。
这里有一把小提琴:https://jsfiddle.net/maaikeb/t5pduuue/
在Chrome中,清空表格需要25秒,将其附加到DOM只需要23 ms。
*我读了下面的帖子,但它们更多地讨论了可能的解决方案,而较少讨论为什么删除元素比添加它们需要更多的时间,当您删除它们时实际发生了什么
What is the best way to remove a table row with jQuery?
Deleting table rows in javascript
jquery - fastest way to remove all rows from a very large table
https://stackoverflow.com/questions/46149924
复制相似问题