是否可以将 SVG Canvas 附加到 <body>
以外的元素?如果脚本不在该元素内,是否使用 D3.js?
例如,下面的代码不起作用:
<html>
<body>
<script src="../../d3.v2.js"></script>
<script>
var vis = d3.select("#container")
.append("svg:svg")
.attr("width",w)
.attr("height",h);
</script>
<div id="container"></div>
</body>
我见过的所有示例都使用 d3.select("body").append....
但显然我们并不总是想立即将 Canvas 附加到正文。
我发现如果<script>
在容器 div 内然后我可以使用 d3.select("#container")
但对我来说似乎很奇怪,我必须将我的脚本包含在我想要 Canvas 的特定容器中。
最佳答案
您正试图在它存在之前选择 #container
。您需要将代码放在 onload
中或将脚本移动到页面中的 #container
下方。
关于javascript - 使用 D3 将 SVG Canvas 附加到主体以外的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13865606/