【发布时间】:2012-12-05 00:56:29
【问题描述】:
如果我这样做:
document.getElementById("myDiv").innerHTML = "some_html_code";
这是否会像使用 appendChild() 一样在我的 DOM 三个中创建节点?
询问的原因是我正在创建一个内存使用率必须很低的移动应用程序。我不想创建很多节点。
【问题讨论】:
-
是的,它创建了节点。当你清空 div 时,它们会被删除。
-
要记住的一点是,使用
innerHTML会丢失您在#myDiv中创建的所有事件处理程序。 -
@ChrisSobolewski 好点!而且你不能绑定新的事件处理程序(字符串中的内联处理程序除外)
-
有什么可以帮助决定使用哪个? stackoverflow.com/questions/2305654/…
-
@Ian,它已添加到 dom,但我无法添加新的处理程序?
标签: javascript html dom memory