2013-04-23 34 views
1

我有一个html div,它下面有大约6个div。当我删除该div上的子项时,其他div是否未分配,还是必须先删除它们? div是动态创建的。内存是否为孩子自动清理div?

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

然后我添加更多的元素。稍后在某些时候,我想删除这些div,并使用顶级div上的removeElement来完成此操作。这是否会导致浏览器内存问题?如果是这样,我会认为我必须先删除每个孩子。

+0

你为什么不试试? – 2013-04-23 13:17:36

+3

你在说什么? – lvella 2013-04-23 13:17:39

+0

你在说什么div,HTML div?你使用什么编程语言?请添加相关标签到您的问题,并考虑向我们展示一些代码 – zakinster 2013-04-23 13:21:45

回答

3

很简短的答案是...是的(因为你不需要手工操作)和否(因为它不是你想象的那样完成的),但是不要担心。

你的html代码到目前为止已经从实际的内存管理中抽象出来了,它并不是一个真正有效的问题。

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

当一个节点被移除时,浏览器可能不会释放内存,因为DOM本身仍然活动,但您不应该担心。您唯一真正关心的是同时呈现/处理的元素数量。

+0

我觉得是这种情况。 C++编码器witting html是不好的;)Thx为直接答案。 – user2144480 2013-04-25 18:11:27

+0

我的荣幸。欢迎来到SO,我希望我们今后能更多地看到你。 – Basic 2013-04-25 19:06:50