如何在d3文本函数中返回html?

Isa*_*aac 16 javascript d3.js

我希望能够从文本函数返回html,如下所示:

textEnter.append("tspan")
          .attr("x", 0)
          .text(function(d,i) {
             return 'some text' + '<br/>' + d.someProp;
           })
Run Code Online (Sandbox Code Playgroud)

试图使用&lt;br&gt;,但没有奏效.我该如何实现这一目标?

mee*_*mit 20

编辑答案

刚刚注意到你在这里使用tspan.遗憾的是,您无法在svg文本元素中插入换行符.带有SVG的多行文本需要自己分解文本,然后通过设置dy属性进行布局.D3使布局过程非常简单,但仍需要额外的工作.

更多信息,请参阅此处的介绍段落:http://www.w3.org/TR/SVG/text.html

OLD ANSWER(适用于使用html元素,而不是svg)

D3有一个单独的方法:该html()方法,就像未text()转义一样工作.更多信息在这里.所以,很简单,你只需要:

textEnter.append("tspan")
      .attr("x", 0)
      .html(function(d,i) {
         return 'some text' + '<br/>' + d.someProp;
       })
Run Code Online (Sandbox Code Playgroud)