1

我有一个 html div,它下面有大约 6 个 div。当我在该 div 上删除 Child 时,其他 div 是否会被取消分配,或者我必须先删除它们?div 是动态创建的。

 var window = document.createElement( 'div' ); 

然后我向它添加更多元素。稍后在某些时候,我想删除这些 div,并且我使用顶级 div 上的 removeElement 这样做。这会导致浏览器出现内存问题吗?如果是这样,我认为我必须首先删除每个孩子是正确的。

4

1 回答 1

3

非常简短的答案是......是的(因为您不必手动执行)和否(因为它不一定按照您假设的方式完成),但不要担心。

到目前为止,您的 html 代码从实际的内存管理中抽象出来,这甚至不是一个有效的问题。

当元素从 DOM 中移除时,它们的所有子节点也会被移除。添加元素不会直接分配内存块 - 它会向 DOM 添加单个节点,然后由渲染过程使用。节点的大小通常很小。

当一个节点被删除时,浏览器可能不会释放内存,因为 DOM 本身仍然处于活动状态,但您不必担心。您唯一真正关心的是同时渲染/操作的元素数量。

于 2013-04-23T19:53:40.783 回答