Создав базовый пример с использованием элемента SVG (который, как я полагаю, вы основали на своем примере кода) и глядя на него в IE11 и Edge, вы можете видеть, что свойство className
является [object SVGAnimatedString]
.Это некоторый специальный объект для элементов SVG, вместо того, чтобы иметь дело с этим специальным объектом, давайте просто разберемся с самим атрибутом, используя getAttribute
.Вот код, который работает в большинстве всех браузеров:
for (var i = 0; i < $('#example .item').length; i++) {
var class_svg = document.getElementsByClassName("item")[i].getAttribute("class").split(' ')[1];
var $elem = document.getElementById(class_svg);
var classList = $elem.getAttribute("class");
classList += " show";
$elem.setAttribute("class",classList);
}
Надеюсь, что работает для вас.