这个话题一直在我脑海里,最近一段时间,我一直在考虑更新DOM /更新图像的效率。我一直没能找到具体的讨论,我甚至不确定在下面的两个选项之间是否存在理想的解决方案。什么是最有效的方式来更新DOM中的图像?
最佳答案我想出来的是它完全依赖于是否需要对<img>
标签像alt
,width
,正在被使用,如果他们height
值更新的附加属性。
好吧,所以说你想更新一张图片或者在两张图片之间进行图片交换,你认为最有效或最优雅的方式。将<img>
元素完全替换为新的<img>
元素更新为src
还是仅更新现有的<img>
的src
新值更好?
我使用小图片的例子会影响图片大小或其他。
这两个方面我是:
$('.swapimage_ele').on("click", function(evt){
var img1 = $("#img1").html();
var img2 = $("#img2").html();
$("#img1").html(img2);
$("#img2").html(img1);
});
$('.swapimage_src').on("click", function(evt){
var img1 = $("#img1 img").attr("src");
var img2 = $("#img2 img").attr("src");
$("#img1 img").attr("src", img2);
$("#img2 img").attr("src", img1);
});
快速工作的例子中,我写了显示两个选项是在这里:http://jsfiddle.net/jshaw/KMmeR/
只是好奇,在每个人的意见或偏好,以及是否有这是做这件事的理想方式。
到目前为止透露了哪些测试? – RobG
我把答案中提供的解决方案进行了几项测试,并且使用vanilla JS切换图像src是最有效的解决方案。在看到这些测试运行后,认为它肯定是为什么@ IHateLazy的解决方案效果最好。谢谢! [这里是我的测试。](http://jsperf.com/image-swap-efficiency) – jshaw3