通过appendChild()追加的子项不显示

时间:2019-01-28 11:21:09

标签: javascript appendchild

它正确地获取了所有数据,显示在console.log()中,但是当附加它时,它确实显示在devTools中,但不在屏幕上。

我还尝试通过将控制台中的内容粘贴到页面上来查看数据,以查看是否存在任何差异,但粘贴的代码显示在屏幕上。

有人知道如何解决吗?

编辑:添加了HTML并将x和y值添加到从之前的代码获取的即时消息中,因此其更加清晰。

var element;
var i = 1;
var x = 799.8;
var y = 620;
element = document.createElement("circle");
element.id = "circle" + (i + 1);
element.setAttribute("cx", x);
element.setAttribute("cy", y);
element.setAttribute("r", "500");
element.setAttribute("fill", "#42b6f4")
document.getElementById("svghead").appendChild(element);

这是HTML:

<svg id="svghead" style="flex: 1 1 0%; height: 90%; margin-left: 3%; 
    width: 86.8%; border: 1px solid black;"></svg>

1 个答案:

答案 0 :(得分:1)

请记住,您不能使用简单的createElement()创建svg元素,而需要使用createElementNS(),它需要附加参数

let svgns = "http://www.w3.org/2000/svg";
var elm;
elm = document.createElementNS(svgns,"circle");