Задать вопрос

Как управлять svg в теге object из js?

Столкнулась с проблемой, когда начала собирать всё в webpack. Разметка создаётся динамически, один js файл.

До этого была сверстанная страница и отдельный js файл, который подключала в svg. Теперь один файл и два разных документа.

Все варианты перепробовала, не получается.

svg(){

		let object = document.querySelector('object');
		let objectDoc = object.contentWindow.document;

		return console.log(objectDoc);//null

	}
  • Вопрос задан
  • 1261 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
Когда вы работаете с внешним JS (то есть не встроенным в файл SVG), если у вас встроенные SVG, вы можете выбрать его как любой другой DOM-элемент. Если вы используете вы можете выбрать его через contentDocument.

window.onload=function() {
  var object = document.getElementById("logoObject");
  var svgDocument = object.contentDocument;
  var svgb1 = svgDocument.getElementsByClassName("firstb");
  var svgb2 = svgDocument.getElementsByClassName("secondb");
  svgb1[0].setAttribute("fill", "yellow");
  svgb2[0].setAttribute("fill", "red");
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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