2013-04-20 2 views
1

я могу добавить title ко всем узлам в дереве сD3 дерево макет добавить «название» для конечных узлов только

node.append("svg:title").text(function(d) { return d.name + " " + d.size }); 

Как я могу добавить title только в узлах листьев?

Я пробовал:

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

, но это не сработало.

пример с названиями на всех узлах

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

+0

древний ответ, но вот пример со ссылками и изображениями, которые, как я думал, я бы поделился: http://bl.ocks.org/mhauserr/6025921 –

ответ

3

Вы можете проверить, имеет ли текущий узел дети и добавить заголовок, только если он не делает. Код будет

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

Обратите внимание, что вы можете так же установить g.leaf.node класс, чтобы вы могли работать на всех листьях легче, если у вас есть несколько вещей, которые являются специфическими для них.

+0

большое спасибо. –

Смежные вопросы