Javascript D3.js csv到html表
表(成功)由D3.js从正文底部和脚本标记下方的csv文件加载生成。因此,我无法选择用于添加id、类等的表 我尝试在html中添加一个带有id和我需要的类的表标记,并强制附加到该标记上,但我在html中的表标记中得到了新生成的表。。因此仍然无法选择Javascript D3.js csv到html表,javascript,d3.js,Javascript,D3.js,表(成功)由D3.js从正文底部和脚本标记下方的csv文件加载生成。因此,我无法选择用于添加id、类等的表 我尝试在html中添加一个带有id和我需要的类的表标记,并强制附加到该标记上,但我在html中的表标记中得到了新生成的表。。因此仍然无法选择 var tabulate = function (data,columns) { var table = d3.select('#myTable') // this is the solution // var table = d3.sel
var tabulate = function (data,columns) {
var table = d3.select('#myTable') // this is the solution
// var table = d3.select('body').append('table') this was before the solution
var thead = table.append('thead')
var tbody = table.append('tbody')
thead.append('tr')
.selectAll('th')
.data(columns)
.enter()
.append('th')
.text(function (d) { return d })
var rows = tbody.selectAll('tr')
.data(data)
.enter()
.append('tr')
var cells = rows.selectAll('td')
.data(function(row) {
return columns.map(function (column) {
return { column: column, value: row[column] }
})
})
.enter()
.append('td')
.text(function (d) { return d.value })
return table;
}
d3.csv('data/Inventory.csv')
.then(function(data) {
const columns = ['Environment','vCluster','HostName','HostModel','BiosVersion','BiosDate','OSversion','HBAadapter','HBAdriver','HBAfirmware','NICadapter','NICfirmware','NICdriver','HPiLOversion','HPiLOfirmware','OAfirmware']
tabulate(data,columns)
});
我需要将生成的表正确地创建为元素,这样它才是可选择和可操作的。尝试只选择现有表,而不是选择并将其附加到DOM:
var table=d3.选择(“#mytable”)代码>
希望有帮助。您的代码中有一个输入错误。第二行,选择和括号之间有一个点。谢谢@BrunoFenzl。。。纠正了。。。问题当然仍然存在。我不确定我是否正确理解了你的问题。您的表没有添加到body标记中?该表生成良好,并自动添加到body标记的末尾。就在脚本标记之前和之后,因此我无法选择它,因为它在所有脚本之后加载。该表由D3自动生成。我在正文中没有表标记。您是否尝试过var table=d3.select(“#mytable”)代码>?其中“myTable”是您已经创建的表的ID