我正在构建一个包含大量重图像的Wordpress网站。 通过加载wordpress生成的图像的“大”版本,我想我可以最小化页面加载而不是获得它们的完整大小。但是在台式机上我希望加载全尺寸图像而不是“大尺寸”图像。
如果在桌面上加载页面,我使用以下代码更改图像源:
$('img').each(function() {
var src = $(this).attr('src');
$(this).attr('src', src.replace(/-1024x682(\.[^.]+)?$/, '$1'));
});
但是由于所有图片的“大”分辨率都不是1024x682,我需要另外解决我的问题。是否可以代替替换图像src中的-1024x682
,只删除最后9个字符(当然是在文件扩展名之前)?
答案 0 :(得分:1)
如果您更喜欢正则表达式:
$(this).attr('src', src.replace(/-[0-9x]+(?=\.jpg)$/, ''));
这将允许任何数字/大小分辨率。
答案 1 :(得分:1)
您可以将代码更新为以下内容
var src = $(this).attr('src');
var extension = src.substring(src.lastIndexOf(".")); // gets the extension
var imageName = src.substring(0, src.lastIndexOf(".")); // gets the file name
imageName = imageName.replace(imageName.substring(imageName.length-9), ""); // replace the last 9 characters with empty string
$(this).attr('src', imageName + extension);