Internet explorer 用d3为IE构建一个大表-性能问题

Internet explorer 用d3为IE构建一个大表-性能问题,internet-explorer,d3.js,Internet Explorer,D3.js,我正在使用d3构建一个HTML表。问题是当数据长度为300左右时,IE性能非常差 经过一些研究,我发现在IE中,在我将完整表放入DOM之前构建完整表更好,但是如何使用d3呢?可能吗 我对d3有点陌生,所以也许我用错了?首先我使用d3.select'tableParent',然后我使用d3.append创建表和thead 然后我应用我的数据: var rows = myTable.selectAll("tbody").data(data); var newRows = rows.enter().a

我正在使用d3构建一个HTML表。问题是当数据长度为300左右时,IE性能非常差

经过一些研究,我发现在IE中,在我将完整表放入DOM之前构建完整表更好,但是如何使用d3呢?可能吗

我对d3有点陌生,所以也许我用错了?首先我使用d3.select'tableParent',然后我使用d3.append创建表和thead

然后我应用我的数据:

var rows = myTable.selectAll("tbody").data(data);
var newRows = rows.enter().append("tbody");
现在,我使用d3.append创建行元素,并更新类和其他属性

例如,为了使用数据获取列的文本,我正在执行以下操作:

myTable.selectAll(".nameColumn").text(function (d, i) { return d.name;})
等等

我的桌子很复杂,所以我要做很多次

也许我需要迭代数据而不是列?

检查这里


它使用d3动态构建一个表,完成后只显示一次。

举个例子会很有帮助——发布一些源代码或做一些修改。您提到在将表添加到DOM之前构建完整的表。可以这样做:var t=document.createElementtable;d3.选择t.datadata.enter.appendtr…然后在完成从DOM构建表后,可以使用body.appendtable.htmlt.outerHTML添加它;或者将其插入到希望表格结束的任何位置