JavaScript : How to detect if a node has been removed?

标签 javascript jquery memory

我认为描述我的问题的最好方法是在这样的情况下创建一些图像对象:

<div id="image_collection">
    <div class="image" data-src="http://image1.jpg"></div>
    <div class="image" data-src="http://image2.jpg"></div>
</div>

在我的 JavaScript 中,我可以有以下内容:

$('.image').each(function( index, element ){
    var image = new Image(); //NEW INSTANCE(S) CREATED (IN MEMORY)
    image.src = $(this).attr('data-src');
    $(this).parent().append(image);
});

请记住,这是我真实脚本中的一个示例 new Image()是一个自定义对象。

这个脚本是自动完成的,所以我把 <div class="image" data-src="http://image1.jpg"></div> 放在哪里将创建一个图像。现在一些程序员使用这个脚本并导入它并使用以下代码创建自己的脚本:

$('#image_collection').remove(); //OR 
$('#image_collection').html('Some new content');

现在我的脚本首先触发,它将转换所有图像,创建新实例,但是当程序员删除 image_collection 中的节点时,我相信这些图像实例仍将保留在内存中。一旦 DOM 中不再使用这些图像实例,如何删除它们?

最佳答案

.remove() 函数从 DOM 中删除节点并返回它们。如果您不对返回值执行任何操作,它们最终会被清除。

关于JavaScript : How to detect if a node has been removed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10580707/

相关文章:

javascript - 在应用新的 KML 图层之前清除所有 KML 图层

java - “在子类实例化期间,父类(super class)的私有(private)字段是否也在堆内存中占有一席之地?

c++ - 大型二维静态数组和 vector 的 vector 的内存使用

javascript - PhotoSwipe 和 Masonry 导航箭头丢失

javascript - 函数式编程效率 vs 命令式

javascript - Jquery:通过检查 URL 将 css 类添加到特定的 html 元素

c - c 中的二进制补码范围

javascript - Discord JS - 当我加入更多公会时,使用 client.guilds 的 .cache 属性是否会导致错误?

javascript - Ember JS : ArrayController with Dynamic Segments (Router) but not Store

javascript - 对同一页面上的多个 html 表单重用 JavaScript 脚本