Подтвердить что ты не робот

Как вернуть html в текстовую функцию d3?

Я хочу, чтобы вернуть html из текстовой функции следующим образом:

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

Пытался использовать &lt;br&gt;, но не работал. Как достичь этого?

4b9b3361

Ответ 1

ОТДЕЛЬНЫЙ ОТВЕТ

Только что заметил, что вы работаете с 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;
       })