21

<body>スクリプトが要素内にない場合、D3.js を使用する以外の要素に SVG キャンバスを追加することは可能ですか?

たとえば、次のコードは機能しません。

<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 に答える