首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么删除元素要比添加元素花费更多的时间?

为什么删除元素要比添加元素花费更多的时间?
EN

Stack Overflow用户
提问于 2017-09-11 15:04:15
回答 5查看 1.8K关注 0票数 20

我有一个有很多行的表(比如10.000行)。

(注意:我知道拥有这么大的表是没有意义的,但我想了解一下下面的行为)。

当我收到新数据时,我想先清除行。奇怪的是,清空表格所需的时间比从头构建行要长得多。使用html("")或普通的JS innerHTML = ""清除表行需要1.5分钟,比构建行本身需要不到一秒的时间要多得多。

所以我的问题是:

  • 为什么删除元素比添加元素需要更多时间?“幕后”发生了什么?

(请注意,我的问题是为什么是 one,我不是在寻找可能的解决方法)。

更新

我注意到表行和单元格应用了浮动定义,当我删除浮动时,表在一个实例中被清空。

我仍然很想理解为什么使得删除行的速度变得如此之慢。

这里有一把小提琴:https://jsfiddle.net/maaikeb/t5pduuue/

在Chrome中,清空表格需要25秒,将其附加到DOM只需要23 ms。

*我读了下面的帖子,但它们更多地讨论了可能的解决方案,而较少讨论为什么删除元素比添加它们需要更多的时间,当您删除它们时实际发生了什么

jQuery empty is very slow

jQuery empty is very slow

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

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46149924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档