Как манипулировать svg, меняя цвет его элементов?

Подскажите, как можно управлять подключенным через object svg файл.

Нужно через js менять цвет и положение объектов svg файла.

Сам файл подключен так:
<object type="image/svg+xml" data="images/bnr/hotel.svg" class="backBg_item_oj bnrPolygon_in_1"></object>


Внутри файла элементы разделены на <g class="..."><path id="..."/></g>.

Не получается обратиться к элементу по его id.
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
Не получается обратиться к элементу по его id.

А как вы это делаете? Вдруг неправильно? Почему не показали?

Просто по id (или с помощью любого другого селектора) обращаться нельзя, у внешних SVG отдельное DOM-дерево, оно доступно через свойство contentDocument соответствующего object'а, т.е.:

const
  svg = document.querySelector('object').contentDocument,
  element = svg.querySelector(здесь уже можете указывать нужный id или что там вам надо);
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы