2016-02-29 115 views
0

不知道这是可能的SRC更换URL参数,但是我们有很多产品被迫在特定的大小&质量加载,我想从IMG SRC代码替换如下:在img元素

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

有:

$('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'); 

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

我一直使用的东西我以前用来代替一个完整的IMG SRC的链接试图

但它不上IMG SRC的一部分工作:因为我们有很多这会改变很多,我不能用我原来的更换整个IMG SRC的方法图像

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

,是有一种方法用jQuery替换这个特定的代码位?

感谢 迈克尔

感谢

回答

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); 

}); 

如果它比这更复杂,你将不得不处理的URL中的SRC属性。如何做到这一点在此处了解详情:Change URL parameters

+0

谢谢你,这是完美的:) – Chobbit

+0

我只是改变了.split和轻微。加入(我将柜面他们需要知道下面放替他人)但你完全正确,谢谢:) – Chobbit

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

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); 

});