D3获取父节点的名称

时间:2012-10-11 13:25:09

标签: javascript d3.js treenode

我有一个通过JSON文档在D3中绘制的节点链接图。示例如下。

enter image description here

我想要做的是在点击孩子时获取父节点的名称。例如,如果我点击“红色”,我想要返回“颜色”。

我尝试过使用.parent的所有东西都是失败的。到目前为止我的调试中,我已经尝试了这个,this.parent和this.parent.parent ......但是没有一个能给我我正在寻找的东西,也无法看到我如何获得这些数据。

我可以发布代码或数据或者你需要的任何东西,但我猜我错过了一些小而微不足道的东西,并希望你能提供帮助。

1 个答案:

答案 0 :(得分:4)

听起来你正试图从this获取父级,在大多数D3回调中都是指关联DOM元素。您需要实际的节点数据,它将作为第一个参数传递:

node.append("circle")
  .on('click', function(node) {
      alert(node.parent.name);
  });

请参阅http://jsfiddle.net/nrabinowitz/wxW3q/