21

<body>如果脚本不在该元素内,是否可以将 SVG 画布附加到使用 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....但显然我们并不总是希望将画布立即附加到正文。

我发现如果在<script>容器 div 内,那么我可以使用d3.select("#container"),但对我来说似乎很奇怪,我必须将我的脚本包含在我想要画布的特定容器中。

4

1 回答 1

23

您正在尝试#container在它存在之前进行选择。您需要将代码放入onload或移动页面下方的脚本#container

于 2012-12-13T17:57:51.023 回答