Невозможно отобразить разобранный узел SVG в HTML DOM.Зачем? - PullRequest
0 голосов
/ 16 марта 2012

В следующем коде я пытаюсь создать SVG-круг на экране двумя различными способами.

var body = document.getElementsByTagName('body')[0];
var vis = document.createElementNS("http://www.w3.org/2000/svg", "svg");
body.appendChild(vis);
vis.setAttribute('width',400);
vis.setAttribute('height',300);

var xmlString = '<circle r="300"></circle>'
            , parser = new DOMParser()
            , doc = parser.parseFromString(xmlString, "text/xml");
c1 = doc.firstChild;

c2 = document.createElementNS("http://www.w3.org/2000/svg", "circle");
c2.setAttribute('r','300')

//for(x in c1) {c1[x] = c2[x]}

vis.appendChild(c1);

Первый способ vis.appendChild(c1); не отображается, но, если я заменю c1 в этой строке на c2, он работает.Кроме того, если я верну c1, а затем раскомментирую строку, которая в основном клонирует c2, в c1, она все равно не будет работать.

Так что я знаю, что это должно быть из-за того, что браузер не понимает, что такое «круг»."если я не использую базовое пространство имен http://www.w3.org/2000/svg, но я не знаю, как это исправить.

Вопрос : Как я могу проанализировать произвольную строку SVGвставить его в DOM и заставить браузер понять, как его отображать?

1 Ответ

1 голос
/ 16 марта 2012

Что не так с использованием базового (например, SVG) пространства имен, как это?

<circle r="300" xmlns="http://www.w3.org/2000/svg"></circle>

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