Für mich sahen meine SVGs anders aus, wenn ich sie als img und svg hatte. Daher konvertiert meine Lösung das img in csv, ändert die Styles intern und zurück zu img (obwohl dies etwas mehr Arbeit erfordert), ich glaube "blob" hat auch eine bessere Kompatibilität als die "mask" in der am meisten hochgewerteten Antwort verwendet wird.
let img = yourimgs[0];
if (img.src.includes(".svg")) {
var ajax = new XMLHttpRequest();
ajax.open("GET", img.src, true);
ajax.send();
ajax.onload = function (e) {
svg = e.target.responseText;
svgText = "";
// Ändern Sie Ihren SVG-String wie gewünscht, zum Beispiel
// Ersetzen der Hex-Farbe zwischen "{fill:" und ";"
idx = svg.indexOf("{fill:");
substr = svg.substr(idx + 6);
str1 = svg.substr(0, idx + 6);
str2 = substr.substr(substr.indexOf(";"));
svgText = str1 + "#ff0000" + str2;
let blob = new Blob([svgText], { type: "image/svg+xml" });
let url = URL.createObjectURL(blob);
let image = document.createElement("img");
image.src = url;
image.addEventListener("load", () => URL.revokeObjectURL(url), {
once: true,
});
img.replaceWith(image);
};
}