对于 d3,*.enter() 返回的选择很特殊,因为它只是即将到来的元素的占位符。不幸的是,这意味着我无法使用 *.data() 获取与输入元素相关的数据(使用 *.exit().data() 是可能的)。
我目前所处的情况是,在初始化这些元素之前,多个转换的时间取决于输入元素的内容。
因此,我的问题是:在实例化这些数据对象之前,如何获取将链接到数据连接中的输入元素的数据对象数组?
最佳答案
您可以直接访问所选内容内的数据结构。在顶层,有一个单元素数组。该元素包含占位符元素以及绑定(bind)到它们的数据以供输入选择。您只需要迭代这些元素即可。
var enterData = selection.data(data)
.enter()[0].map(function(d) { return d.__data__; });
完整演示 here .
关于javascript - 获取d3.js中输入选择的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25528947/