【发布时间】:2014-06-22 15:22:22
【问题描述】:
问题:我正在尝试包装与 D3 树的节点关联的文本,但似乎无法正确地将文本分配给 HTML 链接。
我正在尝试使用附加“foreignObject”元素的方法,然后我可以在其中附加一个“div”元素,以控制宽度。获得“div”后,我会尝试在 HTML“a”元素中附加 HTML 链接和相关文本。
HTML DOM 对象显示“a”元素构造正确,但未在浏览器中呈现。它似乎不能被“body”元素包裹或不包裹。
代码:
nodeEnter.append("svg:foreignObject")
.attr("width", "50")
//.append("xhtml:body")
//.attr("xmlns", "http://www.w3.org/1999/xhtml")
.append("svg:div").attr("class", "NODE_LABEL_DIV")
.append("svg:a")
.attr("xlink:href", function(d) { return d.hlink; })
.text(function(d) { return d.name; })
.attr("x", function(d) { return d.children || d._children ? horizontalNodeOffset : horizontalNodeOffsetLeaf; })
.attr("dy", "-10")
.attr("fill", "Blue")
.attr("text-anchor", function(d) { return d.children || d._children ? "end" : "start"; })
.style("fill-opacity", 1e-6);
我的问题:将 HTML“a”元素添加到 foreignObject 中的“div”的正确方法是什么,这样它才能正确呈现,所以我可以使用“div”元素包装文本?
【问题讨论】:
标签: javascript d3.js tree data-visualization word-wrap