Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3.js csv到html表_Javascript_D3.js - Fatal编程技术网

Javascript D3.js csv到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

表(成功)由D3.js从正文底部和脚本标记下方的csv文件加载生成。因此,我无法选择用于添加id、类等的表

我尝试在html中添加一个带有id和我需要的类的表标记,并强制附加到该标记上,但我在html中的表标记中得到了新生成的表。。因此仍然无法选择

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