【发布时间】:2023-04-02 22:27:02
【问题描述】:
我的应用程序正在使用 jQuery 动态添加大量 DOM 元素。所有这些元素都放入一个主容器 div 中。
然后,每次显示新页面时,都会使用 jQuery 的 remove() 删除此容器 div; 问题是,这个容器 div 的所有子项似乎仍然列在 Chrome 的 devtools 时间线中的“节点”下。
我运行应用程序的时间越长,我创建的 DOM 元素就越多!但是在查看 HTML 源代码时,节点不存在。
我的代码:
// creating lots of jquery elements and appending them to maincontainer
var elm = document.createElement("DIV");
var jq = jQuery(elm).text("hello");
maincontainer.append(jq);
// then, the main container(also a jquery object) is removed using
maincontainer.remove();
以这种方式从内存中清除 DOM 节点有什么问题?为什么保留在“节点”下?
【问题讨论】:
-
只是想知道,你有没有尝试不使用jQuery而只使用JS,结果相同?
-
我们能看到更多围绕该代码的代码吗?
标签: javascript jquery dom