1

d3.jsは期待どおりにdivを追加していません。FF18以降とFirebugでのデバッグ。

d3オブジェクトは(アラートメッセージで)返されますが、チャートオブジェクトは空白を返します。

d3.jslibは正常にロードされています。

これがコードです

    <?php header('Content-type: text/html; charset=utf-8');?>
<!DOCTYPE html>
<html>
    <head>
        <script type='text/javascript' src='js/d3.v3.js'></script>
        <script type='text/javascript'>
            var data = [4, 8, 15, 16, 23, 42];

            var chart = d3.select("#hurtme").append("div").attr("class", "chart");

            alert (d3);

            //chart.selectAll("div").data(data).enter().append("div").style("width", function(d) { return d * 10 + "px"; }).text(function(d) { return d; });

        </script>
    </head>
    <body>
        <div id='hurtme'></div>
        hello
    </body>
</html>

私は何が欠けていますか?

PS:Webの他の例は正常に機能するため、ブラウザーの非互換性を無視しました。

PS2:d3.v2.jsを使用してソースからロードしようとしましたが<script src="http://d3js.org/d3.v3.min.js"></script>、これまでのところ成功していません。

4

1 に答える 1

9

divが存在する前に、スクリプトがロードされて実行されます。divの後にスクリプトタグを移動してみてください。

<div id='hurtme'></div>
<script> type='text/javascript'>
        var data = [4, 8, 15, 16, 23, 42];
        var chart = d3.select("#hurtme").append("div").attr("class", "chart");
</script>

または、「onload」関数を使用します:window.onload vs document.onload

于 2013-02-08T14:34:00.710 に答える