2012-10-11 66 views
3

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

enter image description here

我想要做的就是点击一个孩子时,你得到父节点的名称。例如,如果我点击“红色”,我想要“颜色”返回。

我尝试使用.parent的所有事情都是失败。在我调试到目前为止,我已经试过这个,this.parent和this.parent.parent ...但他们都没有给我我要找的东西,我也看不到我怎么能得到这些数据。

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

回答

4

听起来好像你试图从this获得父母,这在大多数D3回调中引用了关联的DOM元素。你想实际的节点数据,将被传递的第一个参数:

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

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

+0

先生,你是男人。 – VPel