2

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

https://github.com/mbostock/d3/wiki/Selections

传递函数是什么意思?我不知道如何去实现这一点。我尝试传递一个将删除的 div 附加回父级的函数,但没有工作。有任何想法吗?

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

4

1 回答 1

4

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

这是一个简单的工作小提琴来展示一个非常基本的例子。

于 2013-08-22T01:05:31.370 回答