Moin,
Klassischer Fall von komplett daneben und trotzdem richtig - das svg-Element wird auf der Seite von der js-library dynamisch erzeugt. Dein Beispiel hat mir die Augen geöffnet, weil der einzige Unterschied war, daß Du natürlich die HTML-Abteilung einfach so hingeschrieben hast. Mit anderen Worten - mein Problem war ein Timing-Problem und ich hab's jetzt so formuliert:
window.setTimeout(function(){ let svg = document.getElementsByTagName('svg'); ...etc.
Ist dieser Ansatz nicht etwas ungenau – was, wenn das Laden und Erstellen der Elemente länger dauert? Gibt es kein passendes Event dafür?
Viele Grüße
Robert