获取d3.js中输入选择的数据

时间:2014-08-27 13:49:11

标签: javascript d3.js

对于d3,* .enter()返回的选择是特殊的,因为它只是即将到来的元素的占位符。不幸的是,这意味着我无法使用* .data()获取与输入元素相关的数据(可能使用* .exit()。data())。

我目前处于这样一种情况,即在初始化这些元素之前,几个转换的时间取决于输入元素的内容。

我的问题是:在实例化数据对象之前,如何获取将链接到数据连接中的输入元素的数据对象数组?

1 个答案:

答案 0 :(得分:3)

您可以直接访问选择内的数据结构。在顶层,有一个单元素数组。该元素包含占位符元素,其中包含用于输入选择的数据。你只需要迭代这些元素。

var enterData = selection.data(data)
    .enter()[0].map(function(d) { return d.__data__; });

完整演示here