请注意,目前没有专门的 API 可以将删除的元素添加回文档;但是,您可以将函数传递给 selection.append 或 selection.insert 以重新添加元素。
https://github.com/mbostock/d3/wiki/Selections
传递函数是什么意思?我不知道如何去实现这一点。我尝试传递一个将删除的 div 附加回父级的函数,但没有工作。有任何想法吗?
这是 d3 中一个相对较新的功能。
请注意,目前没有专门的 API 可以将删除的元素添加回文档;但是,您可以将函数传递给 selection.append 或 selection.insert 以重新添加元素。
https://github.com/mbostock/d3/wiki/Selections
传递函数是什么意思?我不知道如何去实现这一点。我尝试传递一个将删除的 div 附加回父级的函数,但没有工作。有任何想法吗?
这是 d3 中一个相对较新的功能。
a function that returns the DOM element to append
因此,您可以简单地执行以下操作:
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
迈克的相关文字是:One nuance is that selections are grouped: rather than a one-dimensional array, each selection is an array of arrays of elements
这是一个简单的工作小提琴来展示一个非常基本的例子。