2

在我的 Web 应用程序中,首先下载所需的初始 div。然后,我发送一个请求并使用 ajax 调用获取额外的绝对 div(弹出 div/警告消息 div 等)。现在我要做的是以下

document.body.innerHTML += secondarydivs;

这是否会导致性能下降,因为主体已经构建,现在我要附加更多的 div?我确切需要知道的是,当执行此语句时,是重新绘制整个文档还是仅将附加字符串解析添加到 DOM?

谢谢!

4

2 回答 2

3

它将 DOM 序列化为 HTML,销毁所有现有节点(在流程中丢失绑定的事件处理程序),然后从 HTML 重新创建它们(和新节点)。

使用appendChild和朋友。

于 2012-11-15T10:14:21.727 回答
0

这取决于你到底用它做什么。如果它只是某种回调函数中的单个语句,那没关系,但是如果将其设置在循环中,则应考虑将整个内容构造为字符串,而不是将其附加到 innerHTML。

于 2012-11-15T10:14:12.547 回答