我有一个带有我的列标题的数组,我希望我的第一个单元格以“A1”作为标题。 我试过这样:
var title=mtable.append("thead").append("tr");
title.append("td").text("A1");
title.selectAll("td")
.data(lTitre)
.enter().append("td")
.text(function(d) { return d.key; });
我的代码没有绘制第一列标题:2007(如下所示)。我怎么能解决这个问题?
<thead>
<tr>
<td>A1</td>
!!!! <td>2007</td> !!!!! is missing here
<td>2008</td>
<td>2009</td>
<td>2010</td>
<td>2011</td>
</tr>
</thead>
答案 0 :(得分:1)
使用当前代码,如果您检查__data__
绑定到<td>A1</td>
,则会看到它__data__.key == 2007
。发生这种情况是因为只要您的selectAll()
语句与当前选择中的任何元素匹配,.data()
函数就会在创建输入选择之前将数据绑定到现有元素。要解决此问题,只需使用与任何现有元素都不匹配的selectAll()
函数:
var title = mtable.append("thead").append("tr");
title.append("td").text("A1");
title.selectAll(".new")
.data(lTitre)
.enter().append("td")
.text(function(d) { return d.key; });