我想要能够从文本函数返回html,如下所示:
textEnter.append("tspan") .attr("x",0) .text(function(d,i) { return 'some text' + '<br/>' + d.someProp; })
试图使用& br& gt,但没有工作.我该如何实现?
解决方法
编辑答复
只是注意到你在这里使用tspan.不幸的是,您无法在svg文本元素中插入换行符.使用SVG的多行文本需要自行分解文本,然后通过设置dy属性进行布局. D3使布局过程相当简单,但仍然需要额外的工作.
更多信息在这里介绍段:http://www.w3.org/TR/SVG/text.html
旧答案(适用于使用html元素而不是svg)
D3有一个单独的方法:html()方法,其工作方式与text()类似,但未转义.所以,很容易,你只需要:
textEnter.append("tspan") .attr("x",0) .html(function(d,i) { return 'some text' + '<br/>' + d.someProp; })