InnerHTML慢?

时间:2018-01-03 23:40:55

标签: javascript html dom

我使用javascript将160行添加到包含10列的表中。如果我这样做:

tidyverse

渲染没有时间,但如果我切换到cell.innerHTML = value,渲染时间会慢得多。我们是否有另一种方法可以更快地在单元格内呈现HTML元素?

BTW,问题似乎只出现在IE上(IE 11更具体)。它在Google Chrome中很不错。

我正在使用.NET AjaxToolkit。

2 个答案:

答案 0 :(得分:2)

innerHTML很慢,因为它必须在值中查找HTML标记,并将其解析为DOM节点。如果您只是插入不包含任何HTML标记的纯文本,请改用textContent

如果您需要在单元格中创建复杂的HTML,使用innerHTML可能是最快的方式,因为优化HTML解析一直是浏览器设计者的首要任务。但是如果HTML很简单(例如只是几个元素),那么在Javascript中创建它们可能更有效。您需要对特定应用程序进行基准测试,以找出盈亏平衡点的位置。

答案 1 :(得分:0)

这是IE9,IE10,IE11和Edge中的一个突出错误: - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4561410/