Javascript 在D3中有数据对象时,如何找到关联的DOM元素?

Javascript 在D3中有数据对象时,如何找到关联的DOM元素?,javascript,jquery,d3.js,Javascript,Jquery,D3.js,在我的D3中,我有大约20-30个rect对象,它们包含在类barsGroup的组中,每个对象都绑定了相关的对象。绑定对象的id字段是UUID 当我只有对象时,有人能帮我用select语句找到关联的rect DOM元素吗。所有绑定对象都在数据数组中 我试过了 d3.selectbarsGroup.selectAllrect.datadata.FilterFunction{return task.id==d.id}[0][0] 虽然这似乎适用于大多数元素,但也会给其他元素带来麻烦。有人能解释一下我

在我的D3中,我有大约20-30个rect对象,它们包含在类barsGroup的组中,每个对象都绑定了相关的对象。绑定对象的id字段是UUID

当我只有对象时,有人能帮我用select语句找到关联的rect DOM元素吗。所有绑定对象都在数据数组中

我试过了

d3.selectbarsGroup.selectAllrect.datadata.FilterFunction{return task.id==d.id}[0][0]

虽然这似乎适用于大多数元素,但也会给其他元素带来麻烦。有人能解释一下我做错了什么吗

我的方法很可能是错误的

基本上,我有一个对象,看起来有点像这样:

{"id":"c",
 "parents":["a","b"]
}
每个a、b和c数据对象都已绑定到矩形

我现在正试图从绑定到c的矩形的边界框中绘制箭头,到绑定到父级a和b的矩形


我正在寻找如何使用对象a的id来获取对象a绑定的DOM矩形。

我删除了数据绑定。它就像一个符咒。任务就是对象

d3.select("#barsGroup").selectAll("rect").filter(function(d){return task.id === d.id})[0][0];

如果您需要节点,无需破解API,请使用node方法

var myRect = d3.select("#barsGroup").selectAll("rect").filter(function(d){return task.id === d.id}).node();

你能在上面多写点代码吗?我以为数据已经绑定了,但是你又在用数据绑定它,所以我不确定那里发生了什么…我试图更清楚地解释我在尝试什么。