我认为描述我的问题的最佳方式是在这种情况下创建一些图像对象:
<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 中使用这些图像实例,我该如何删除它们?