【问题标题】:jQuery question: Does using .remove() also properly remove children?jQuery 问题:使用 .remove() 是否也可以正确删除子项?
【发布时间】:2009-07-11 15:44:12
【问题描述】:

严格来说这并不重要,也许我还没有完全理解 DOM 是如何工作的,但我只是试图预测这里是否存在某种内存泄漏的可能性。如果我删除具有子元素、事件侦听器等的元素,这些元素也会被清理吗?或者我自己实施某种递归删除解决方案是否明智?

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

【问题讨论】:

    标签: javascript jquery dom memory-leaks


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      简单:jQuery.remove() 删除子元素。不知道监听器,但可能它们也被删除了。

      【讨论】:

        猜你喜欢
        • 2013-12-27
        • 2011-11-27
        • 2013-01-01
        • 2014-06-08
        • 2011-01-28
        • 2020-01-21
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多