Я извлекаю несколько изображений из API и заменяю их собственными изображениями следующим образом:
$('img[src="http://www.example.com/dir/images/dir/1.gif"]').attr('src', "http://cdn.example.com/dir/1.gif"); $('img[src="http://www.example.com/dir/images/dir/2.gif"]').attr('src', "http://cdn.example.com/dir/2.gif"); $('img[src="http://www.example.com/dir/images/dir/3.gif"]').attr('src', "http://cdn.example.com/dir/3.gif"); $('img[src="http://www.example.com/dir/images/dir/4.gif"]').attr('src', "http://cdn.example.com/dir/4.gif"); $('img[src="http://www.example.com/dir/images/dir/5.gif"]').attr('src', "http://cdn.example.com/dir/5.gif"); $('img[src="http://www.example.com/dir/images/dir/6.gif"]').attr('src', "http://cdn.example.com/dir/6.gif"); $('img[src="http://www.example.com/dir/images/dir/7.gif"]').attr('src', "http://cdn.example.com/dir/7.gif"); $('img[src="http://www.example.com/dir/images/dir/8.gif"]').attr('src', "http://cdn.example.com/dir/8.gif"); $('img[src="http://www.example.com/dir/images/dir/9.gif"]').attr('src', "http://cdn.example.com/dir/9.gif"); $('img[src="http://www.example.com/dir/images/dir/10.gif"]').attr('src', "http://cdn.example.com/dir/10.gif")
Теперь, поскольку слишком много текста, я сжал это следующим образом:
$('img[src^="http://www.example.com/"]').each(function(index,element){ var $this, src, newSrc; $this = $(this); src = $this.attr('src'); newSrc = src.replace('www.example.com/dir/images/dir', 'cdn.example.com/dir'); $this.attr('src', newSrc); });
Теперь я хочу изменить расширение изображений на .png.Поэтому в основном я хочу заменить URL для каждого изображения И расширения с .gif до .png.
.png
.gif
Как мне этого добиться?
А как же:
$('img[src^="http://www.example.com/"]').each(function(i, value) { $(this).attr('src', $(this).attr('src').replace('www.example.com/dir/images/dir', 'cdn.example.com/dir').replace('.gif', '.png')); });
$('img[src^="http://www.example.com/"]').attr('src', function() { return this.src .replace('www.example.com/dir/images/dir', 'cdn.example.com/dir') .replace('.gif', '.png'); });
newSrc.replace(".gif",".png");
Подумайте, что подойдет:)