3

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

在此处输入图像描述

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

我使用 .parent 尝试过的所有事情都失败了。到目前为止,在我的调试中,我已经尝试过 this、this.parent 和 this.parent.parent ......但它们都没有给我我正在寻找的东西,我也看不到如何获得这些数据。

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

4

1 回答 1

4

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

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

http://jsfiddle.net/nrabinowitz/wxW3q/

于 2012-10-11T17:00:52.173 回答