我想知道是否有必要手动删除已使用 jQuery 的 detach()
函数分离的元素(并且对它的所有引用都已被 null
处理) ).
这是我尝试过的 JavaScript。
例如:
elem = $(".test").detach();
elem = null;
元素是否完全消失,如 $(".test").remove();
或是否需要类似 elem.remove()
的东西?
编辑:包括我对问题的评论:
我正在分离多个元素。其中一些被重用(重新注入(inject)到 DOM 中),但另一些需要在分离后永久删除。
最佳答案
Is it necessary to manually delete an element that has been detached with jQuery's detach() function (and all references to it has been null'ed).
您不能“删除”一个元素。当没有剩余引用时,垃圾收集器将自动收集它。如果您已分离它,它将毫无问题地从内存中删除。
然而,这不是detach
之间的区别。和 remove
.当简单地分离它时,jQuery 存储在其内部缓存中而不是元素上的一些数据将被泄漏。您需要显式调用 [internal!] cleanData
method在元素上解决这个问题 - 但您应该简单地调用 .remove()
。
关于javascript - jQuery:在分离()之后手动删除元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21321483/