严格来说这并不重要,也许我只是还没有完全理解 DOM 是如何通过询问这个问题来工作的,但我只是想预测这里是否存在某种内存泄漏的可能性。如果我删除了一个有子元素、事件监听器等的元素,这些元素也会被清理掉吗?或者我自己实现某种递归删除解决方案是否明智?
为了扩展这个问题,我还要问:直接(不是通过 jQuery,我是说)从 DOM 中删除元素是否也有同样的问题?
最佳答案
是的,确实如此。 jQuery 只是 Javascript 功能的包装器,其行为方式相同:删除节点实质上是删除整个子树,以便包括所有后代节点。这包括监听器(意味着任何监听节点或其后代之一的东西)。你无法听到不再存在的东西。
关于javascript - jQuery 问题 : Does using . remove() 也正确删除子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1113982/