web-dev-qa-db-ja.com

D3を使用してSVGキャンバスを本体以外の要素に追加します

スクリプトがその要素内にない場合、D3.jsを使用して_<body>_以外の要素に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")を使用できることがわかりましたが、スクリプトを特定のコンテナ内に含める必要があるのは奇妙に思えます。キャンバスが欲しい。

20
Gilman

存在する前に#containerを選択しようとしています。コードをonloadに入れるか、ページの#containerの下にスクリプトを移動する必要があります。

20
Zikes