2012-05-14 54 views
4

我正在使用我自己的数据集在.json文件中修改其中一个d3示例的树结构。我有我自己的数据的工作副本。我现在想要做的是修改文本,以便它们链接到相应的URL。我发现,似乎没有太多的文件,关于如何做到这一点。d3.js树结构文本链接

这是我使用的例子树:http://bl.ocks.org/1249394

,从哪里开始有什么建议?

+1

古代的答案,但这里有一个链接和图像的例子,我想我会分享:http://bl.ocks.org/mhauserr/6025921 –

回答

3

最简单的方法是将链接放入JSON中的“name”元素中。然后您需要创建svg:a元素而不是svg:text元素的链接和svg:text元素在里面。例如。行

nodeEnter.append("svg:text").text(function(d) { return d.name; }); 

成为

nodeEnter.append("svg:a").attr("xlink:href", function(d) { return d.name; }) 
.append("svg:text").text(function(d) { return d.name; }); 

你当然可以有链接的目标和文本单独的JSON元素。有关链接的更多详细信息,请参阅the SVG spec

或者,您可以使用svg:foreignObject为链接嵌入HTML。有关更多信息,请参阅here

2

不知道,如果这仍然有用,但你只能使用1你的JSON。

只需返回d.something_else_than_name,并且此“something_else_than_name”必须在“name”之后的JSON中描述。

因此,对于例如

{"name": "stackoverflow", "link": "http://stackoverflow.com"}, 

,之后在你的页面你可以返回它,因为之前说:

.attr("xlink:href", function(d) { return d.link; }) 

希望这将是一个人帮助。

+0

也许你可以试图编辑以前的答案...要去尝试自己。不管怎么说,还是要谢谢你。 – Gra