D3 树布局仅向叶节点添加“标题”

chr*_*ane 1 javascript d3.js

我可以将 a 添加title到树中的所有节点

node.append("svg:title").text(function(d) { return d.name + " " + d.size }); 
Run Code Online (Sandbox Code Playgroud)

如何将titleonly 添加到叶节点?

我试过:

node.selectAll('g.leaf.node text').text("title", function(d) { return d.name + " " + d.size }); 
Run Code Online (Sandbox Code Playgroud)

但这没有用。

所有节点上都有标题的示例

http://jsfiddle.net/chrisloughnane/EcU2c/

Lar*_*off 5

您可以检查当前节点是否有子节点,只有在没有子节点时才添加标题。代码是

node.append("svg:title").text(function(d) {
    return d.children ? "" : d.name + " " + d.size;
});
Run Code Online (Sandbox Code Playgroud)

请注意,您可以类似地设置一个g.leaf.node类,以便您可以更轻松地对所有叶子进行操作(如果您有几个特定于它们的东西)。