它正确地获取了所有数据,显示在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>
答案 0 :(得分:1)
请记住,您不能使用简单的createElement()
创建svg元素,而需要使用createElementNS()
,它需要附加参数
let svgns = "http://www.w3.org/2000/svg";
var elm;
elm = document.createElementNS(svgns,"circle");