1

我如何在 javascript 或 jquery 中遍历<img />页面中的每个标签,检查它是否是 .png 扩展名,将 .png 扩展名替换为 .png 扩展名,如果它是 .png 扩展名,则使用 .svg?

4

3 回答 3

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);
  }
});
于 2013-05-12T18:44:56.843 回答
3

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

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

参考:

于 2013-05-12T19:35:52.567 回答
0

I don't understand the sense of this question, anyway this is the code(it is untested, but it should work);

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');
    }
}
于 2013-05-12T18:50:21.557 回答