/ / Percorra todos os <img /> e substitua .png por .svg [fechado] - javascript, jquery

Viaje por todos <img /> e substitua .png por .svg [closed] - javascript, jquery

Como posso, em javascript ou jquery, viajar por cada um dos <img /> tag em uma página, verifique se é uma extensão .png, substitua a extensão .png, se for uma extensão .png, por .svg?

Respostas:

5 para resposta № 1

EDITAR:

A seguir, uma versão editada de minha resposta original, graças aos comentários úteis.

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

Original

Eu não testei isso, mas acredito que deve funcionar.

$("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);
}
});

3 para resposta № 2

Em vez de fazer um loop explicitamente, você pode aproveitar uma das .attr()sobrecargas de s:

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

Referência:


0 para resposta № 3

Eu não entendo o sentido desta questão, de qualquer forma este é o código (não foi testado, mas deve funcionar);

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");
}
}