我有d3js强制布局。我试图向每个节点附加一个嵌套元素。 这是代码:
node
.append("div")
.attr("width", 60)
.attr("height", 60);
node.select("div")
.append("image")
.attr("xlink:href", function(d)
{
return d.url
})
.attr("x", -8)
.attr("y", -8)
.attr("width", 30)
.attr("height", 30);
node.select("div")
.append("text")
.attr("dx", 12)
.attr("dy", ".35em")
.text(function(d) { return d.name });
我得到的结果是:
<div width="60" height="60">
<image xlink:href="image.jpg" x="-8" y="-8" width="30" height="30">
</image>
<text dx="12" dy=".35em">mp3</text>
</div>
问题在于我没有看到图像和文字。
怎么办?
由于
答案 0 :(得分:2)
使用g元素,它有变换将元素放在正确的位置。如果你想使用div而不是g,你必须将div放在svg之上浮动。
#canvas {
position: relative;
}
#canvas.div {
position: absolute;
top: 320px;
left: 150px;
}
画布是你附加svg的地方。我在这里使用这种技术: