替换img元素的src中的URL参数

时间:2016-02-29 13:44:05

标签: jquery html

不确定这是否可行,但我们有很多产品被迫按特定尺寸加载。质量,我想从img src代码中替换下面的内容:

&wid=128&hei=144&qlt=80

使用:

&wid=256&hei=288&qlt=100

我尝试过使用之前用过的东西来替换完整的img src链接:

$('img[src="https://images/image1&qlt=80&w=300&h=364&v=1"]').attr('src','https://images/image2&qlt=80&w=300&h=364&v=1');

但它不适用于img src的一部分:

$('img[src="&wid=128&hei=144&qlt=80"]').attr('src','&wid=256&hei=288&qlt=100');

因为我们有很多图像会改变很多,我不能使用我原来的替换整个img src的方法,有没有办法用jquery替换这段特定的代码?

由于 迈克尔

由于

3 个答案:

答案 0 :(得分:1)

修改src属性是正确的方法,但src属性必须始终包含图像的整个URL。

如果您知道数字将始终相同,则可以将src属性操作为字符串:

$('img').each(function(){

    var srcString = this.getAttribute('src');

    srcString = srcString.split('128').join('256');
    // same thing for the other two numbers

    this.setAttribute('src', srcString);

});

如果它比这更复杂,则必须将src属性作为URL进行操作。有关如何执行此操作的详细信息:Change URL parameters

答案 1 :(得分:0)

您可以使用replace Javascript方法:

$('img').each(function(){

 var origin = this.getAttribute('src');
 var wid = "256";
 var hei = "288";
 var qlt = "100";

 origin = origin.replace("128", wid);
 origin = origin.replace("144", hei);
 origin = origin.replace("80", qlt); 

 this.setAttribute('src', origin);

});

查看fiddle

答案 2 :(得分:0)

感谢KWeiss的回答:

$('img').each(function(){

    var srcString = this.getAttribute('src');

    srcString = srcString.split('wid=128').join('wid=256');
    srcString = srcString.split('hei=144').join('hei=288');
    srcString = srcString.split('qlt=80').join('qlt=100');
    // same thing for the other two numbers

    this.setAttribute('src', srcString);

});