我用ajax创建了一个表,但似乎无法将<th>
元素包含在<tr id="header">
内。我已经尝试过appendTo
,prependTo
,但是没有运气。
我想要的结构是:<Table><Thead><tr><th>
,这样进入th
的数据将成为#header
的子级,而不是同级
function arrayToTable(tableData) {
var table = $('<table id = "data_table"></table>');
$(tableData).each(function (i, rowData) {
if (i==0){
var row = $('<thead class= "table_header"><tr id="header"></tr></thead>');
$(rowData).each(function (j, cellData) {
$('#header').append($('<th>'+cellData+'</th>'));
});
table.append(row);
} else{
var row = $('<tr class="table_data"></tr>');
$(rowData).each(function (j, cellData) {
row.append($('<td>'+cellData+'</td>'));
});
table.append(row);
}
});
return table;
}
$.ajax({
type: "GET",
url: "random/folder/with/csvs/csv1.csv",
success: function (data) {
$('#container').append(arrayToTable(Papa.parse(data).data));
}
});
答案 0 :(得分:0)
尝试此代码
$(tableData).each(function (i, rowData) {
if (i==0){
var head = $('<thead class= "table_header"></thead>');
var row = $('<tr id="header"></tr>');
$(rowData).each(function (j, cellData) {
row.append($('<th>'+cellData+'</th>'));
});
head.append(row);
table.append(head);
} else{
var row = $('<tr class="table_data"></tr>');
$(rowData).each(function (j, cellData) {
row.append($('<td>'+cellData+'</td>'));
});
table.append(row);
}
});