2016-02-29 113 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); 

});