我正在使用D3.js创建可折叠树。
我将文本元素后面的图像附加到树上。附加图像时,我想将节点的宽度设置为图像元素的x属性,以便图像在文本元素后面追加。我在上面使用了getBBox(),但它返回了我{x:0,y:0,width:0,height:0}
有关如何解决这个问题的任何建议吗?
相关代码:
nodeEnter.append("text").attr("x", function (nodeData) { return nodeData.children || nodeData._children ? x_pos = -10 : x_pos = 10; })
.attr("dy", ".35em")
.attr("text-anchor", function (nodeData) { return nodeData.children || nodeData._children ? "end" : "start"; })
.text(function (nodeData) { return nodeData.name; })
.style("fill-opacity", 1e-6);
nodeEnter.data(nodes).filter(function (nodeData) { return nodeData.icon ? nodeData.icon : null; }).append("image")
.attr("xlink:href", function (nodeData) { return nodeData.icon ? nodeData.icon : null; })
.attr("x", , function (nodeData) { return d3.select(this.parentNode).node().getBBox().width; )
.attr("y", "-7px")
.attr("width", "16px")
.attr("height", "14px");