我有一个包含 div 的 foreignObject 的 SVG 元素。然后在我的js中我这样做:
$("#wrapper>svg>foreignObject>div").sparkline(data);
它在 div 中创建了一个画布。当我查看两个浏览器的 firebug html 代码时:
火狐:
<svg>
<foreignObject width="20" height="20" x="10" y="-10">
<div>
<canvas style="display: inline-block; width: 18px; height: 19px; vertical-align: top;" width="18" height="19"></canvas>
</div>
</foreignObject>
</svg>
铬合金:
<svg>
<foreignobject width="20" height="20" x="10" y="-10"/>
<svg>
在 chrome 中它甚至不显示 div。我创建 div 的方式是
nodeEnter.append("foreignObject")
.attr("width", "20")
.attr("height", "20")
.attr("x", "10")
.attr("y","-10");
$("#wrapper>svg>foreignObject").append("<div></div>");
Firefox 正在按照我的预期工作。但铬没有。有没有人有什么建议?
另外,我认为部分问题是 chrome firebug HTML 输出显示“foreignobject”,但 Firefox 以我附加的方式显示“foreignObject”。