如果图像路径存在,则替换文本,如果不存在则显示原始图像
If an image image path exists replace the text, if not display original image
嗨,我已经设置了一些代码来用更高分辨率的版本替换图像。它看起来像这样
$("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;
};
});
我很确定我是在抓稻草,有更好的方法来做到这一点…因为它不工作:)
下面是这个答案的直接实现:
$("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
});
相关文章:
- javascript如果图像不存在don't加载它
- 如果图像标记是用javascript编写的,并且需要用户输入,那么图像不会随页面加载吗
- 如果图像太大,如何裁剪图像
- 如果图像具有 guid 作为名称,则 jqZoom 不起作用
- 使用javascript中的if和else语句来显示图像(如果图像不存在,则显示其他图像)
- 如果图像工作正常,为什么 img onerror 处理程序会执行
- 如果图像在 jquery 幻灯片中不可用,请将其删除
- CSS / JavaScript过渡:如果图像快速更改,我的CSS过渡不适用于图库
- 如果图像不是't可用的显示图像占位符
- 如果图像已存在,请将其从页面中删除
- 如果图像's比浏览器大
- gm:如果图像宽度超过1000px,则调整图像大小
- 如果图像已经加载,则jQuery.load()回退
- 如果图像文件没有'不存在,显示另一个
- jQuery测试如果图像有这个扩展,否则尝试下一个
- 如果图像太短,则强制图像到页面底部
- 如果图像可用,则显示边框,否则不显示边框
- 如果图像源包含子字符串,则修改图像源
- 如果图像高度超过图像宽度,通过裁剪其顶部和底部来垂直居中图像-仅使用CSS即可
- 如果图像对屏幕来说太大,可以缩小它