我如何在javascript或jquery中浏览页面中的每个<img />
标记,检查它是否是.png扩展名,替换.png扩展名,如果它是.png扩展名,用.svg?
答案 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');
}
}