繁体   English   中英

当D3中有Data对象时,如何找到相关的DOM元素?

[英]How do I find the associated DOM element when I have the Data object in D3?

我在D3中有大约20-30个“矩形”对象,这些对象包含在类为“ barsGroup”的组中,每个对象都有绑定到它们的关联对象。 绑定的对象有一个ID字段,它是UUID。

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

我努力了

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

尽管这似乎对大多数元素都有效,但它会使其他元素混乱。 有人可以告诉我我在做什么错吗?

我的方法很可能是错误的。

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

{"id":"c",
 "parents":["a","b"]
}

每个a,b和c数据对象均已绑定到矩形。

我现在正尝试从绑定到“ c”的矩形的边界框绘制到绑定到父级“ a”和“ b”的矩形的箭头。

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

如果您需要节点,无需修改API,请使用node方法...

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

我删除了数据绑定。 它就像一个魅力。 “任务”是对象。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM