将图像链接替换为jQuery

Replace image link with jQuery

本文关键字:jQuery 替换 链接 图像      更新时间:2023-09-26

我在一个元素中有一个图像,其中有一个悬停时显示的灯箱图像。我想用灯箱图像替换元素中的图像。我的内容是动态匹配的,我无法更改html。

我所有的图像url都以/250/250结尾,一些lighbox图像以/400/300结尾,我使用下面的脚本来替换它们:

$('.new-structure .image a img').each(function () {
var src = $(this).attr('src');
$(this).attr('src', src.replace("/250/250", "/400/300"));
});

但有些灯箱图像有另一个结局,我无法让剧本发挥作用。它们看起来像这样:

/img/0~BC6F034B-3404-4FBA-B26A-9B2990552E72~400~300~1

如何将以/250/250结尾的图像与以400~300~1结尾的图像相匹配?

更新:主要问题:当我将250/250替换为300/400时,我不需要更改完整的链接-除了结尾之外,它们是相同的-当替换为~400~300~1图像时,我需要交换完整的链接,因为它不同。

我需要更换这个:

 https://mywebsite.com/imgs/2d873287-7eb5-497a-a813-aef655acdb74/250/250

这个:

 https://mywebsite.com/img/0~3B07CED6-08FF-47CD-9D25-D908774F728D~400~300~1

基于url中的结尾,将图像大小重新标记为:/250/250和~400~300~1

更新:意识到根据它们的元素类交换它们可能更容易。。

灯箱图像如下:

<a class="mainColorbox" href="/img/0~676B9DBB-5D93-4481-B241-74B619F96188~400~300~1"></a>

目标图像:

<div class="mainPicture">
<img src="/imgs/7fb6d7bd-b9e7-44b2-a533-a485b93456ac/250/250" class="photo">

使用Regex代码替换字符串:

var str = 'some // slashes', replacement = '';
var replaced = str.replace(/'//g, replacement);

否则,斜杠将像您的示例中那样进行编码。

点击此处了解更多信息:如何全局替换JavaScript字符串中的正斜杠?