jQuery attr ().Смена источника на блок изображений и расширение - PullRequest
0 голосов
/ 26 октября 2011

Я извлекаю несколько изображений из 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.

Как мне этого добиться?

Ответы [ 3 ]

2 голосов
/ 26 октября 2011

А как же:

$('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'));
});
1 голос
/ 26 октября 2011
$('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');
});
0 голосов
/ 26 октября 2011
newSrc.replace(".gif",".png");

Подумайте, что подойдет:)

...