Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复制SVG';桑树_Javascript_Html_Json_D3.js - Fatal编程技术网

Javascript 复制SVG';桑树

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")

我想复制我的树,我试图创建一个新的变量,在其中放入树的querySelector(“svg”),然后将其附加到parentNode,但它实际上不起作用,我该怎么做

这是我尝试进行复制的函数:

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);})