Я действительно смущен здесь. У меня есть статический элемент SVG, который отображается отлично, но когда я добавляю идентичный элемент из Javascript, он не отображается. Почему это??динамический элемент svg, добавленный Javascript, не работает
<html>
<head>
\t <script type="text/javascript">
\t function doit()
\t \t {
\t \t \t var svgdiv = document.getElementById('svg1');
\t \t \t for (var k = 1; k < 3; ++k)
\t \t \t {
\t \t \t \t var svg = document.createElement('svg');
\t \t \t \t svg.setAttribute('width',100);
\t \t \t \t svg.setAttribute('height',100);
\t \t \t \t console.log(svg);
\t \t \t \t var c = document.createElement('circle');
\t \t \t \t c.setAttribute('cx',50);
\t \t \t \t c.setAttribute('cy',50);
\t \t \t \t c.setAttribute('r',40);
\t \t \t \t c.setAttribute('stroke','green');
\t \t \t \t c.setAttribute('stroke-width',4);
\t \t \t \t c.setAttribute('fill','yellow');
\t \t \t \t svg.appendChild(c);
\t \t \t \t svgdiv.appendChild(svg);
\t \t \t }
\t \t }
\t \t window.onload = doit;
\t </script>
</head>
<body>
\t <svg width="100" height="100">
\t <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
\t </svg>
<div id="svg1"></div>
</body>
</html>
Weird. Почему тогда появляется первый круг? У меня нет ссылки на пространство имен SVG. –
Первый круг появляется, потому что браузер знает, какое пространство имен следует использовать, когда он находит элемент '' внутри элемента '