将csv的第一行移至标头HTML

时间:2018-06-19 19:01:38

标签: javascript html csv parsing html-table

我用ajax创建了一个表,但似乎无法将<th>元素包含在<tr id="header">内。我已经尝试过appendToprependTo,但是没有运气。

我想要的结构是:<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));
    }
});

1 个答案:

答案 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);
    }
});