如何从d3.data()获取对象?

时间:2014-12-19 09:50:21

标签: javascript css d3.js

我有一个变量,将所有链接数据保存在强制导向图

var linkData = d3.selectAll(".link").data(); 

我有一个for循环遍历此数据,以查看是否有任何边具有某个值。 如果他们希望将该边缘的类更改为可见,如果没有,则将其更改为隐藏。

但我感到困惑的是说我在linkData[3];得到了我想要的边缘我如何选择实际链接以便我可以更改CSS类,看作linkData是数据,我该怎么办?得到实际的对象?

1 个答案:

答案 0 :(得分:2)

你可以filter a selection

var myLink = d3.selectAll(".link")
             .filter(function(d) { return d === linkData[3]; })
             .attr('stroke', 'red');

或者,更好的是,正如LeartS建议的那样,您可以直接过滤链接,而无需通过DOM中的.data()

var myLink = d3.selectAll(".link")
             .filter(function(d) { return isThisTheLinkIWant(d); })
             .attr('stroke', 'red');