Javascript 在d3.js中重新添加删除的元素

Javascript 在d3.js中重新添加删除的元素,javascript,d3.js,Javascript,D3.js,注意,目前没有专门的API将删除的元素添加回文档;但是,可以将函数传递给selection.append或selection.insert以重新添加元素 传递函数是什么意思?我不知道如何着手实施这一点。我尝试传递一个函数,将删除的div追加回父级,但没有成功。有什么想法吗 这是d3中相对较新的功能。返回要追加的DOM元素的函数 因此,您可以简单地执行以下操作: d3.select("body").append(function() { return document.createEle

注意,目前没有专门的API将删除的元素添加回文档;但是,可以将函数传递给selection.append或selection.insert以重新添加元素

传递函数是什么意思?我不知道如何着手实施这一点。我尝试传递一个函数,将删除的div追加回父级,但没有成功。有什么想法吗


这是d3中相对较新的功能。

返回要追加的DOM元素的函数

因此,您可以简单地执行以下操作:

d3.select("body").append(function() {
    return document.createElement("div");
});
而不是简单地使用字符串名

d3.select("body").append("div");
当您使用d3选择器时,请记住它们不是单个元素。他们是一群人。因此,如果你说:

var divs = d3.select("div").remove(); // actually a multidimensional array
var firstElement = divs[0][0]; // this can be appended by returning it
Mike的相关文本是:
一个细微差别是选择是分组的:每个选择不是一维数组,而是元素数组的数组


下面是一个简单的工作

函数,它返回要追加的DOM元素

因此,您可以简单地执行以下操作:

d3.select("body").append(function() {
    return document.createElement("div");
});
而不是简单地使用字符串名

d3.select("body").append("div");
当您使用d3选择器时,请记住它们不是单个元素。他们是一群人。因此,如果你说:

var divs = d3.select("div").remove(); // actually a multidimensional array
var firstElement = divs[0][0]; // this can be appended by returning it
Mike的相关文本是:
一个细微差别是选择是分组的:每个选择不是一维数组,而是元素数组的数组


这是一个简单的工作方法

您尝试了什么?你能发布一些代码吗?你尝试了什么?您可以发布一些代码吗?谢谢,这是否意味着当将属性应用于选择时,其所有子元素也会获得相同的属性?例如,
d3.selectAll(“path”).attr(“可见性”、“隐藏”)
,这会影响第二、第三等子组吗?是的,这些子组适用于这些子组。我认为问题在于
append
不允许您追加集合。数据驱动的
enter
更适合于此。谢谢,这是否意味着当将属性应用于选择时,其所有子元素也会获得相同的属性?例如,
d3.selectAll(“path”).attr(“可见性”、“隐藏”)
,这会影响第二、第三等子组吗?是的,这些子组适用于这些子组。我认为问题在于
append
不允许您追加集合。数据驱动的
enter
更适用于此。