2012-05-14 51 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