我有一个 html div,它下面有大约 6 个 div。当我删除那个 div 上的一个 Child 时,其他 div 是否会被取消分配,或者我必须先删除它们? div 是动态创建的。
var window = document.createElement( 'div' );
然后我向其中添加更多元素。后来在某个时候我想删除这些 div,我在顶层 div 上使用 removeElement 来这样做。这会导致浏览器出现内存问题吗?如果是这样,我认为我必须首先移除每个 child 是正确的。
最佳答案
非常简短的回答是......是的(因为您不必手动执行)和否(因为它不一定按照您假设的方式完成),但不要担心。
到目前为止,您的 html 代码是从实际的内存管理中抽象出来的,这甚至不是一个有效的问题。
当元素从 DOM 中移除时,它们的所有子节点也将被移除。添加一个元素不会直接分配内存块——它会向 DOM 添加一个节点,然后由渲染过程使用。节点的大小通常很小。
当删除节点时,浏览器可能不会释放内存,因为 DOM 本身仍然处于事件状态,但您不必担心。您唯一真正关心的是同时呈现/操作的元素数量。
关于javascript - 是否自动为 children 清理 div 上的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16170349/