Reputation: 53
I am trying to create a table using D3.js, but td elements are not nesting inside the tr.
This is what I am trying to create:
<table>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
</table>
This is what I've tried:
var myTable = d3.select("#myTable")
var myTableRow = myTable.selectAll("tr")
.data(myData);
myTableRow.enter()
.append("tr")
.insert("td", ":first-child")
.html(function(d) {
return d.name;
})
.insert("td", ":first-child")
.html(function(d) {
return d.value;
});
However, each td does not nest inside the tr.
Upvotes: 2
Views: 1966
Reputation: 41065
var myTable = d3.select("#myTable")
var myTableRow = myTable.selectAll("tr")
.data(myData)
.enter()
.append("tr")
myTableRow.append("td", ":first-child")
.html(function (d) {
return d.name;
})
myTableRow.append("td", ":first-child")
.html(function (d) {
return d.value;
});
var myData = [
{ name: 'a', value: 1 },
{ name: 'b', value: 2 },
]
var myTable = d3.select("#myTable")
var myTableRow = myTable.selectAll("tr")
.data(myData)
.enter()
.append("tr")
myTableRow.append("td", ":first-child")
.html(function (d) {
return d.name;
})
myTableRow.append("td", ":first-child")
.html(function (d) {
return d.value;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<table id="myTable">
</table>
Upvotes: 7