浏览所有<img/>并将.png替换为.svg

时间:2013-05-12 18:40:00

标签: javascript jquery

我如何在javascript或jquery中浏览页面中的每个<img />标记,检查它是否是.png扩展名,替换.png扩展名,如果它是.png扩展名,用.svg?

3 个答案:

答案 0 :(得分:5)

修改

以下是我原始答案的编辑版本,这要归功于有用的评论。

$('img').each(function() {
  var img_src = $(this).attr('src');
  var new_src = img_src.replace(/\.png$/, '.svg');
  $(this).attr('src', new_src);
});

<强>原始

我没有对此进行测试,但相信它应该可行。

$('img').each(function() {
  var img_src = $(this).attr('src');

  if(img_src.indexOf('.png')) {
    var new_src = img_src.replace('.png','.svg');
    $(this).attr('src', new_src);
  }
});

答案 1 :(得分:3)

您可以利用.attr()的重载之一,而不是显式循环:

$("img").attr("src", function (idx, attr) {
    return attr.replace(/\.png$/, ".svg");
});

参考:

答案 2 :(得分:0)

我不明白这个问题的意义,无论如何这是代码(它是未经测试的,但应该有效);

var imgs = document.getElementsByTagName('img');
for (var i in imgs) {
    var img = imgs[i],
        ext = img.src.split('.').pop();
    if (ext.toLower() == 'png') {
        img.src = img.src.replace(/\.png$/, '.svg');
    }
}