我想知道如果在加载时分离div并在单击上附加相同的div会增加内存吗?分离div(填充图像)时div和图像信息是否保存在内存中?
例如:
<div class="divContain-one">
<img src="test.png">
</div>
<div class="divContain-two"></div>
var divContainingImage = $("#divContain-one").detach();
$("button").click(function(){
$("#divContain-two").append(divContainingImage);
});
Run Code Online (Sandbox Code Playgroud)
它不应该显着增加内存使用量.该变量在分离之前只包含对包含DOM元素的相同内存的引用,以及任何相关的jQuery数据.所有发生的事情是DOM本身不再具有对该内存的引用.
附加它时,也不会增加内存.它只是将同一对象的引用添加到DOM中的新位置,它不会复制.
信息必须保存在内存中 - 当你追加时,它怎么知道添加到DOM的内容呢?
一个警告:调用行为$("#divContainingImage")创建一个包装DOM元素的jQuery对象,该变量包含对该对象的引用,而不仅仅是DOM元素.这确实增加了内存使用量,与此无关.detach().
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |