Javascript 正在使用innerHTML+;=明智的

Javascript 正在使用innerHTML+;=明智的,javascript,dom,Javascript,Dom,在我的web应用程序中,首先下载所需的初始div。然后,我发送一个请求,并使用ajax调用获取额外的绝对div(弹出div/警告消息divs等)。现在我做的是下面的 document.body.innerHTML += secondarydivs; 这会不会导致性能下降,因为主体已经构建好了,现在我添加了更多的div?我确切需要知道的是,当这个语句被删除时,是整个文档被重新绘制,还是只有附加字符串被解析添加到DOM中 谢谢 这取决于你用它做什么。如果它只是一个回调函数中的一个语句,那么就可以了

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

document.body.innerHTML += secondarydivs;
这会不会导致性能下降,因为主体已经构建好了,现在我添加了更多的div?我确切需要知道的是,当这个语句被删除时,是整个文档被重新绘制,还是只有附加字符串被解析添加到DOM中


谢谢

这取决于你用它做什么。如果它只是一个回调函数中的一个语句,那么就可以了,但是如果你把它设置成一个循环,你应该考虑把整个事情构造成一个字符串,而不是把它附加到内文HTML中。

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


<> >使用代码> AppDebug < /Cord>和朋友。

这很好。只需考虑在释放线程时(如JS调用堆栈退出),在DOM中添加作为字符串的第二个DIVE。因此,如果在内层HTML添加之后必须引用它们,则使用SETTIMEOUT(FN,0)来执行。,或使用document.createElement创建它们。@LittleSweetSeas实际上我不太确定我是否是wright,根据Cthulhu的链接,我错了。仅供参考:我写的innerHTML据我所知比document.createElement更快,我不知道还有比它更快的东西