d3js换行符在使用html的文本中不起作用
d3 js line breaks not working in text using html
为什么break标记不呈现?
我在SO上读了几个答案,并尝试了各种不同的方法,但都没有成功。
这个fiddle显示了当前功能齐全的d3.js示例,其中存在break标签无法呈现的问题:
http://jsfiddle.net/Xsnqx/1/
相关的代码位在这里:
node.insert("text")
.attr("class", "text")
.style("text-anchor", "middle")
.html(function(d) {
var html = d.name.split(" ");
return html.join("<br>");
});
注意:如果你们中的任何一位d3专家对我构建的代码有其他评论/意见,请告诉我。当我完成后,我希望这个代码是一流的。
您不能将HTML直接放入SVG中。您需要使用foreignObject
元素来嵌入HTML。还有一个问题可以解决这个问题:SVG文本中的自动换行。
为了完整起见,我想发布最终的d3/js代码,我最终用它来生成XML(根据@ScottChameron的回答):
node.append("foreignObject")
.attr("class", "label")
.attr("width", "120")
.attr("height", "120")
.attr("transform", "translate(-60,-60)")
.html(function(d) {
var html = d.name.split(" ");
return html.join("<br>");
});
相关文章:
- html/jquery输入类型:单选框中的文本不起作用
- AngularJS按钮文本不起作用
- 单选插件的占位符文本不起作用
- Javascript - 在将标签环绕后重新选择文本不起作用?所见即所得
- 动态更改选项文本不起作用
- 在 Javascript 中使用 setTimeout 移动文本不起作用
- 填充文本不起作用
- 返回了JS对象,但响应文本不起作用
- 使用 javascript 更改按钮文本不起作用
- 在画布上呈现文本不起作用
- 在 javascript 中更改标签的文本不起作用
- OrbitControls 和 dat.gui 文本不起作用
- 在当前卡雷位置插入文本不起作用(多个文本框)
- 使用 JavaScript 复制模型的输入文本不起作用
- 多选插件中的占位符文本不起作用
- 使用 jQuery .data() 设置元素的文本不起作用
- 我每隔几个小时使用 JavaScript 的自定义文本不起作用
- Javascript多个突出显示文本不起作用
- 更新文本不起作用
- 调整浏览器大小时,图像上方的文本不起作用