0

我在让它工作时遇到了一些问题。我有一个现有的 HTML 表,并想使用 d3 将一些数据附加到表中。

这是 HTML 表格:

<table>
     <thead>
     <tr id="table_header">
       <th>Header 1</th>
       <th>Header 2</th>
       <th>Header 3</th>
       <th>Header 4</th>
       <th>Header 5</th>
       <th>Header 6</th>
     </tr>  
     </thead>
     <tbody id="data_table">
     </tbody>
  </table>

现在我只想在此附加一些额外的标题,所以我使用 d3

<script>
    d3.json("data.php", function(monthly_growth) {

    d3.select("#table_header").selectAll("th").data(monthly_growth).enter().append("th").text(function(d) {return d.MONTH;});

    });
</script>

我希望如果没有可用的实际数据,这不会太难理解。基本上我的数据集有未来几年每个月的值。我想在数据集中为每个月创建一个新标题。目前我上面的代码正在将标题附加到我的原始表中,但它缺少数据集的前 6 个月。我怀疑我的 d3 代码开始在第一个 Header 处附加数据,这显然不是我想要的。

我还尝试为我的第 6 个标题提供一个 ID 并附加到该 ID,但效果并不理想。它似乎在它下面开始了新的一排标题。此外,我觉得这不是这样做的正确方法。

4

1 回答 1

0

通过创建一个新类来做到这一点,以便 d3 附加新类型而不是“思考”我想选择已经存在的类型:

<script>
    d3.json("data.php", function(monthly_growth) {

    d3.select("#table_header").selectAll("th.month").data(monthly_growth).enter().append("th").attr('class', 'month').text(function(d) {return d.MONTH;});

    });
</script>
于 2013-05-03T15:04:44.207 回答