我想用JS创建一个SVG并设置大小,但是当我使用createElement("svg")
时,生成的HTML是
<svg class="jscreated" style="width: 500px; height: 400px;"></svg>
但svg大小显示为0,0
。
见这个例子:
var svg=document.createElement("svg");
document.body.appendChild(svg);
svg.setAttribute("class","jscreated");
svg.style.width="500px";
svg.style.height="400px";
<svg class="HTML_SVG" style="width:500px; height:400px;" class="HTML_SVG"></svg>
你可以看到JS创建的SVG是0,0
,但HTML中直接编写的SVG应该是500x400。 Chrome检查器中的"==$0"
是什么意思?
答案 0 :(得分:1)
createElement只能创建HTML元素,需要createElementNS
var svg=document.createElementNS("http://www.w3.org/2000/svg", "svg");
document.body.appendChild(svg);
svg.setAttribute("class","jscreated");
svg.style.width="500px";
svg.style.height="400px";
<svg class="HTML_SVG" style="width:500px; height:400px;" class="HTML_SVG"></svg>