kasheibess
@kasheibess
веб уже не тот

Как при помощи js присвоить класс атрибуту svg path?

Всем доброго дня, вечера или что там у Вас сейчас) Проблема такая - есть svg map, она генерируется из js обьекта.
Проект сделан по аналогии с htmlbook.ru/blog/postroenie-interaktivnoi-karty-s-... , только у меня эта карта выступает в роли меню.
И должно это дело работать по принципу меню в одностраничнике.
То есть при клике на карту - перебрасывает на определенный якорь на странице.
И так же на карте должно подсвечиваться текущее положение (аналогично что с активным пунктом меню).
Все уже сделано, осталась мелочь - добавить определенный class текущему path.
Делаю вот так: 96a6f75ea8db4909998e09a2ff10b15a.png
В ответ и ошибок нет и class не добавляется.
В гугле ничего путного не нашел, там по слову path выдает только про системный path. Если есть у кого на примете статейки по svg хорошие, то буду очень благодарен.
  • Вопрос задан
  • 1976 просмотров
Решения вопроса 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Не хочу разбираться в том коде. Совсем.
Но реализуется это крайне просто.
Желательно ориентироваться не на класс, а на data-атрибуты (следует учесть, что напрямую обращение к dataset в FF не работает).
Вариант с учётом особенностей IE, про которую упомянул Nikolay Talanov.
Ответ написан
Ronnie_Gardocki
@Ronnie_Gardocki
Я у мамы фронтендщик.
Все довольно просто - jQuery не умеет в добавление классов к svg. Хотите добавлять класс - юзайте нативный js. jQ вообще очень много чего не умеет с svg. Да и вообще с свг много своих "фишек", которые вы освоите только с опытом. Например classlist api, которому так все радуются в ванилле, вообще не умеет работать с свг в ИЕ.
Вот простая демка - codepen.io/suez/pen/634874e5486fcea55c7e9f8053d49e54
Слева попытка добавить при клике класс на jQuery, справа на ванилле. Заодно можете и в ие посмотреть, там оба варианта не сработают :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы