Попытка понять поведение пространств имен в элементах <svg> - PullRequest
0 голосов
/ 07 января 2020

Итак, прочитав документацию по MDN и несколько других статей, мне удалось написать код для создания элементов svg с JS.

const _namespace = 'http://www.w3.org/2000/svg';
const _svg = document.createElementNS(_namespace, 'svg');
_svg.setAttributeNS(_namespace, 'width',this.width);
_svg.setAttributeNS(_namespace, 'height',this.height);
_svg.setAttributeNS(_namespace, 'viewBox',`0 0 ${this.width} ${this.height}`);
this.container.appendChild(_svg);

С кодом ниже элемент svg добавляется в DOM, но не учитывает значения ширины, высоты или viewBox. Он отображает с использованием размера по умолчанию 300 x 150.

Теперь, изменив _namespace на null в методе setAttributeNS, кажется, все работает.

Мой вопрос заключается в том, что является логическим объяснением такого поведения ? И почему go к проблеме использования метода setAttributeNS, если мы собираемся просто установить пространство имен в null?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...