javascript - jQuery:在分离()之后手动删除元素?

标签 javascript jquery

我想知道是否有必要手动删除已使用 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/

相关文章:

javascript - 如何在自定义 React Native 组件中实现按下事件

javascript - 如何在用户关闭选项卡时自动注销用户

javascript - 如果使用 Jquery SerializeArray() 序列化复选框、单选和多个选择元素(如果它们为空),如何进行序列化?

javascript - 叠加上的过渡

javascript - 当失败的任务使用流队列时,Gulp watch 退出

javascript - 导航栏数据切换和数据目标不起作用

javascript - 使用 html5/javascript 截取整个屏幕的屏幕截图?

javascript - 需要防止双击焦点按钮同时保持以下按钮可点击的可点击按钮表的问题

多个项目上的 jQuery 动画

javascript - 使用 javascript 或 jquery 在 View 源上添加空白区域