48

これは機能します:

<div id="chart"></div>
<script>var svg = d3.select("#chart").append("svg:svg");</script>

これはしません:

<script>var svg = d3.select("#chart").append("svg:svg");</script>
<div id="chart"></div>

コードを jquery document.ready() でラップし、要素を jquery で取得して d3.select に渡してみましたが、それもうまくいきませんでした。編集jquery document.ready() 構文が正しくなったら、うまくいきました。

ページの上部に JavaScript を含めて、下の要素を選択する方法はありますか? ありがとう。

4

6 に答える 6

17

コメントするにはまだ十分な評判がないので、ここにこれを載せます:

Micah の回答を拡張するには、ブラウザはコードを上から下に実行するため、次のように記述します。

<div id="chart"></div>
<script>var svg = d3.select("#chart").append("svg:svg");</script>

ブラウザは id "chart" で div を作成し、スクリプトを実行して、その div を見つけようとします。万歳、成功です。

それ以外の場合は、次のように記述します。

<script>var svg = d3.select("#chart").append("svg:svg");</script>
<div id="chart"></div>

ブラウザはスクリプトを実行し、id チャートで div を見つけようとしますが、まだ作成されていないため失敗します。

次に、ブラウザは ID「chart」の div を作成します。

于 2015-11-27T16:11:28.933 に答える
0

<script src="./custom.js"></script>before</bod>タグを追加するだけ です。これは、html 本文で要素をd3.select(#chart) 検出するための供給時間です #chart

于 2016-08-26T15:34:01.480 に答える
0

要素 ID が単なる a のnumber場合、d3.select("1234") は機能しないことがわかりました。

一意の ID は文字である必要がありalpha-numericます。

d3.select("1234")

d3.select("コンテナ1234")

于 2019-01-09T21:34:59.890 に答える