您好我已经设置了一些代码来替换更高分辨率版本的图像。看起来像这样
$("img[src*='.jpg']").each(function(){
$(this).attr('src',$(this).attr('src').replace('.jpg','.highres.jpg'));
});
只查找所有图像并替换文件名。
有时,高分辨率图像的文件名不是' highres.jpg'
我想做的是,如果存在highres.jpg,则显示那个。否则只显示原文。
以下是我的尝试:
$("img[src*='.jpg']").each(function(){
var replaceImage = function() {
$(this).attr('src',$(this).attr('src').replace('.jpg','.highres.jpg'));
};
if (replaceImage > -1) {
replaceImage;
};
});
非常确定我在这里和那里抓住吸管是一种更好的方法来做到这一点......导致它无法正常工作:)
答案 0 :(得分:0)
以下是this答案的直接实现:
$("img[src*='.jpg']").each(function(){
var imgSrc = $(this).attr('src'); // The original src
var highresSrc = imgSrc.replace('.jpg','.highres.jpg'); // High res src
var img = new Image();
img.onerror = function() { // In case of error, revert to original
img = new Image();
img.src = imgSrc;
};
/*
img.onload = function() {
// Image has loaded successfully. Do something if you want.
...
};
*/
img.src = highresImg; // Try loading highres
});