Javascript 使用d3.js时,能否在文本中插入换行符?

Javascript 使用d3.js时,能否在文本中插入换行符?,javascript,d3.js,Javascript,D3.js,我正在寻找一种使用d3.js在工具提示文本元素中使用换行符的方法 .text("test" + "</br>" + "test") .text(“测试”+”“+”测试”) 上述以及其他类似的努力似乎都不起作用 这里有一条线索似乎可以回答这个问题: 但解决办法并不十分清楚。在上述情况下如何使用.html .text(.html(“测试“+”+“测试”)) 没用 谢谢< p>因为你已经知道要在哪里中断文本,你可以考虑只添加单独的元素。 .append("text") .att

我正在寻找一种使用d3.js在工具提示文本元素中使用换行符的方法

.text("test" +  "</br>" + "test")
.text(“测试”+”
“+”测试”)
上述以及其他类似的努力似乎都不起作用

这里有一条线索似乎可以回答这个问题:

但解决办法并不十分清楚。在上述情况下如何使用.html

.text(.html(“测试“+”+“测试”))

没用


谢谢

< p>因为你已经知道要在哪里中断文本,你可以考虑只添加单独的元素。

.append("text")
  .attr("dy", "0em")
  .text("line 1")   // "line 1" or whatever value you want to add here.
然后对于第二行,只需添加一个偏移量

.append("text")
  .attr("dy", "1em") // you can vary how far apart it shows up
  .text("line 2")   // "line 2" or whatever value you want to add here.

对于属性为dy=0em和dy=1.2em的第1行和第2行,最好都使用“tspan”。请考虑我在下面答案的注释中给出的解决方案。如果您谈论svg图形中的某个元素,或者svg之外的任何其他文本块(,…),则解决方案会有所不同。后者是公认的解决方案,前者见Sergei Basharov的链接。答案和我想要的一样。对我来说有效的是使用.html(而不是.text或.text(.html…):('mouseover',function(d){return)(tooltip.html(d.country+'
-population'+d.population…你能提供一些成功的例子吗?我只是按照你的方式做,不能产生任何预期的结果。在我的情况下,只能显示第1行,其他行消失了