我正在尝试更改图像src的结尾,以便在移动设备上渲染较小的图像。我们使用Adobe Scene 7,因此我可以为全尺寸图像设置预设,然后设置移动图像,然后我只需要代码来更改网址。我在这里找到了this question,并尝试将其应用到我的代码中。我的问题是我不知道如何为此写一个正则表达式,美元符号让我失望。
$('img').each(function () {
var src = $(this).attr('src');
$(this).attr('src', src.replace($fullbanner$, '$mobilebanner$');
});
所以为了简单起见,有人可以帮我写一个正则表达式来填充“src.replace(,);”部分? url的初始值是domain / company / banners / homepage / img_name?$ fullbanner $然后我们只需要将其更改为domain / company / banners / homepage / img_name?$ mobilebanner $。
另外,如果它只是简单地说:
src.replace('$fullbanner$', '$mobilebanner');
然后就这么说。我非常感谢您提供的任何帮助。
答案 0 :(得分:2)
您可以使用attr(function)
循环遍历每个实例:
$('img').attr('src', function(index, existingSrc){
return existingSrc.replace('$fullbanner$', '$mobilebanner');
});
请注意,这不是一个非常有效的策略,因为它不会阻止浏览器对完整大小的图像发出初始请求,因为初始页面加载中存在的任何图像都已经在脚本之前发出请求运行