これは何よりも自分の好奇心を満たすための質問です。私はどのようにd3を使用してHTMLドキュメントの本体に既に存在するSVG要素を選択するのだろうかと思っています。私は以下のスニペットがうまくいくと期待しています。それはそうではありません。それは私にかなりの不満をもたらしています。D3を使用してそのコンテナを作成せずにD3の既存のSVGコンテナを選択するにはどうすればよいですか?
<html lang="en">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.1/d3.min.js">
</script>
<script type="text/javascript">
// If the below is changed to append instead of select it works
// but what if I don't want to create the SVG using d3
var svg = d3.select("body").select("svg")
var circle = svg.append("circle")
.attr("cx", 50)
.attr("cy", 50)
.attr("r", 20)
</script>
<style>
</style>
</head>
<body>
<svg>
</svg>
</body>
</html>
ああ、それはかなり変だ!それを最後に置くことは、前のすべての要素の後にロードすることを保証しますか?また、この代わりにjavascriptをロードする前に、代わりに他のソリューションがありますか? – Omnomnious
ほとんどの場合、はい。そして、ええ、いくつかの人々は同じコードをJquery $(document).ready()に埋め込みます。ステートメント。その場合、Jqueryは読み込みを待機します。 bodyタグのonloadイベントを使用して、同じコードで関数を呼び出すこともできると思います。しかし、私はそれをやったから、何年も経っています。 –