jQuery问题:使用.remove()是否也正确删除了孩子?

时间:2009-07-11 15:44:13

标签: javascript jquery dom memory-leaks

并非严格意义上的问题,也许我还没有完全理解DOM是如何工作的,但我只想预测这里是否存在某种内存泄漏的可能性。如果我删除一个包含子元素,事件监听器等的元素,那么这些元素也会被清理掉吗?或者我自己实施某种递归删除解决方案是否明智?

为了扩展这个问题,我还会问:从DOM 直接删除元素(不是通过.jQuery,我的意思)也有同样的问题吗?

2 个答案:

答案 0 :(得分:4)

是的,确实如此。 jQuery只是Javascript功能的包装器,它以相同的方式运行:删除节点本质上是删除整个子树,以便包括所有后代节点。这包括监听器(意思是监听节点或其后代之一的任何东西)。你不能听那些不再存在的东西。

答案 1 :(得分:0)

简单:jQuery.remove()删除子项。不了解听众,但可能他们也被删除了。