我正在使用Datatables作为页面上的简单表格。其中一列包含select
个输入。当我初始化Datatables对象时,我可以给它一个数据数组来填充表,如下所示:
$('#myTable').DataTable({data: arrayOfData});
目前,我给它一个字符串来创建数据表(我假设)解析然后放在单元格中的select
输入。但是,我知道用document.createElement
自己创建DOM节点比让jQuery解析一些HTML字符串要快得多。当我尝试给Datatables一个DOM节点时,我看到的只是表中的一个字符串,如下所示:
[object HTMLSelectElement]
是否可以为Datatables提供原始DOM节点?
编辑:
似乎我在描述中遗漏了一些东西。这是我的代码(当然是匿名的)。 tableData
只是一个模型数据数组的数组,其HTML类似于我在下面显示的条目。
var tableData = [['<div class="td_inner_wrapper"><img src="img/drapeaux/fr.svg"></div>', ...], ...]
var myTableDT = $('#myTable').DataTable({
paging: false,
data: tableData,
order: [[1, 'desc'],],
scrollY: 300,
scrollCollapse: true,
searching: false,
deferRender: true,
columns: [
{ "title": 'Base', "width": "2.2rem", "className": "dt-center"},
{ "title": 'Date Corresp', "width": "5.8rem", "className": "dt-center"},
{ "title": 'Montant Don', "width": "5.6rem", "type": "num-fmt", "className": "dt-center"},
{ "title": 'Forme Don', "width": "5.7rem", "sortable": false, "className": "dt-center"},
{ "title": 'Type Don', "sortable": false, "className": "dt-center" },
{ "title": 'Réponse', "sortable": false, "className": "dt-center" },
{ "title": 'Date Réponse', "width": "6.3rem", "className": "dt-center"},
{ "title": 'Reçu', "className": "dt-center" },
{ "title": 'Archive', "width": "5rem", "className": "dt-center" },
{ "title": 'Notes', "width": '2.5rem', "className": "dt-center" },
{ "title": 'Date', "className": "dt-center fsize-0p8" }
],
//dom: "frtiS", enable for paging if necessary
initComplete: function(){
console.log('init.dt');
}
});
编辑2:
看起来这与我给Datatables的内容有关。如果我给它100行空字符串,生成表只需要大约200毫秒。