Javascript 如何将SVG行的字符串作为选中的d3js对象
我通过以下方式使用鼠标创建了svg行:Javascript 如何将SVG行的字符串作为选中的d3js对象,javascript,d3.js,svg,Javascript,D3.js,Svg,我通过以下方式使用鼠标创建了svg行: 在Mousedown: drawObject = d3.select('#drawing').append('line') .classed(lineClass, true) .classed("graphic", true) .attr("x1", pointerOrigin.x) .attr("y1", pointerOrigin.y) .attr("x2", pointe
在Mousedown:
drawObject = d3.select('#drawing').append('line')
.classed(lineClass, true)
.classed("graphic", true)
.attr("x1", pointerOrigin.x)
.attr("y1", pointerOrigin.y)
.attr("x2", pointerOrigin.x)
.attr("y2", pointerOrigin.y);
在MouseMove上:
drawObject.attr("x2", pointerPosition.x)
.attr("y2", pointerPosition.y);
现在我想把这一行保存到数据库中。
我的想法是保存字符串,就像我使用手动创建的一些分组元素bevor所做的那样
如何获得这样的行字符串:
<line xmlns="http://www.w3.org/2000/svg" class="graphic" x1="1870" y1="-20" x2="1920" y2="-110" />
这是绘图的结果,应在drawObject中选择。
有类似drawObject.innerHtml的东西吗?
outerHTML
是您要找的。嗯。。。这给了我未定义的:console.log(drawObject.outerHTML);另一个想法是获取元素的类型并逐步读取属性。但是这里我也很困惑…drawObject.node().outerHTML
您需要从D3选择中获取实际的DOM节点。哦,是的,这就是解决方案。非常感谢。