Javascript 你的速度慢吗?

Javascript 你的速度慢吗?,javascript,html,dom,Javascript,Html,Dom,我使用javascript将160行添加到一个包含10列的表中。如果我这样做: var cellText = document.createTextNode(value); cell.appendChild(cellText); row.appendChild(cell); 渲染完全不需要时间,但如果切换到cell.innerHTML=value,则渲染速度要慢得多。我们是否有其他选项可以更快地呈现单元格内的HTML元素 顺便说一句,问题似乎只有在IE 11上才更具体。在谷歌Chrome上也可

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

var cellText = document.createTextNode(value);
cell.appendChild(cellText);
row.appendChild(cell);
渲染完全不需要时间,但如果切换到cell.innerHTML=value,则渲染速度要慢得多。我们是否有其他选项可以更快地呈现单元格内的HTML元素

顺便说一句,问题似乎只有在IE 11上才更具体。在谷歌Chrome上也可以

我正在使用.NET AjaxToolkit。

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

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

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


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

这是IE9、IE10、IE11和Edge中的一个突出错误:-

这是IE9、IE10、IE11和Edge中的一个突出错误:-

可能重复的可能重复当然,我知道,但我需要插入HTML标记。还有其他选择吗?我以为你在尝试用文本节点做一些与原始代码等价的事情。您可以在Javascript中创建节点,而不是解析HTML。但是我不知道它是否会更快,通常HTML解析器是最好的。不,原始代码非常快。我没有任何问题。只有当有html标记时才有问题。我的意思是,编写自己的代码在单元格中创建大量DOM节点可能比使用innerHTML慢。大多数浏览器都有高度优化的HTML解析器。innerHTML当然令人惊讶,我知道,但我需要插入HTML标记。还有其他选择吗?我以为你在尝试用文本节点做一些与原始代码等价的事情。您可以在Javascript中创建节点,而不是解析HTML。但是我不知道它是否会更快,通常HTML解析器是最好的。不,原始代码非常快。我没有任何问题。只有当有html标记时才有问题。我的意思是,编写自己的代码在单元格中创建大量DOM节点可能比使用innerHTML慢。大多数浏览器都有高度优化的HTML解析器。innerHTML令人惊叹