Javascript 复制SVG';桑树
我想复制我的树,我试图创建一个新的变量,在其中放入树的querySelector(“svg”),然后将其附加到parentNode,但它实际上不起作用,我该怎么做 这是我尝试进行复制的函数:Javascript 复制SVG';桑树,javascript,html,json,d3.js,Javascript,Html,Json,D3.js,我想复制我的树,我试图创建一个新的变量,在其中放入树的querySelector(“svg”),然后将其附加到parentNode,但它实际上不起作用,我该怎么做 这是我尝试进行复制的函数: function add_total_svg(svg, globaldiv, cell) { var last_svg = document.querySelector("svg"); cell = globaldiv.append("div").attr("class", "total")
function add_total_svg(svg, globaldiv, cell) {
var last_svg = document.querySelector("svg");
cell = globaldiv.append("div").attr("class", "total");
cell.append("p").text("Total").attr("style", "font-family: Helvetica");
cell.append(last_svg); //The duplication fail here
}
以下是代码+可视化:
再次感谢您,您可以使用:
cell.append(()=>last_svg.cloneNode(true))代码>。但一定要这样做。cloneNode(true)如果需要深度复制,它是有效的,但只是一个问题,附加开头的“()=>”是什么意思@altocumulus@zahreddine这是对ES6中JavaScript的介绍。查看以下文档:如果要附加节点,必须从函数返回它;您不能只执行.append(last_svg.cloneNode(true))
。在ES6之前的语法中,这将是cell.append(function(){return last_svg.cloneNode(true);})
。