Как манипулировать svg, который подключен через тэг object?

Подскажите, как можно управлять подключенным через 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.
  • Вопрос задан
  • 378 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Не получается обратиться к элементу по его id.

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

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

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

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

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