EDITED ОТВЕТ
Просто заметил, что вы работаете с tspan здесь. К сожалению, вы не можете вставлять разрывы строк в текстовые элементы svg. Многострочный текст с SVG требует разбивки текста самостоятельно, а затем его выделения, установив атрибут dy
. D3 делает процесс прокладки довольно прямой, но он по-прежнему требует дополнительной работы.
Более подробная информация в интро пункта здесь: http://www.w3.org/TR/SVG/text.html
OLD ОТВЕТ (применяется при использовании HTML-элементов, а не SVG)
D3 имеет отдельный метод для этого: метод html()
, который работает только как text()
, но неэкономленный. More info here. Итак, достаточно легко, вам просто нужно:
textEnter.append("tspan")
.attr("x", 0)
.html(function(d,i) {
return 'some text' + '<br/>' + d.someProp;
})
Я не знаю о d3, но я заметил, что вы устанавливаете текст как код html. Не можете ли вы сделать что-то вроде '.html' или' .innerHTML' вместо '.text()'? – BBog