无法将类添加到Papaparse中从CSV文件生成的表中的tr

时间:2017-01-05 22:19:27

标签: jquery csv

尝试用csv文件创建一个表,我稍后会用jquery操作。 Papaparse似乎最容易用于从csv中提取数据。它生成的表很好。但由于某种原因,我甚至无法在tr中添加一个类。这是我的代码。

function arrayToTable(tableData) {
    var table = $('<table></table>');
    $(tableData).each(function (i, rowData) {
        var row = $('<tr></tr>');
        $(rowData).each(function (j, cellData) {
            row.append($('<td>'+cellData+'</td>'));
        });
        table.append(row);
    });
    return table;
}

$.ajax({
    type: "GET",
    url: "data/late.csv",
    success: function (data) {
        $('body .tableclass').append(arrayToTable(Papa.parse(data).data));
    }
});

$(window).load(function(){
    $(".tableclass table tbody tr").each(function(){
       $(this).addClass("trclass");
      }); 
});

2 个答案:

答案 0 :(得分:0)

在创建实际表之前,看起来你的onload正在激活。 $(&#34; .tableclass表tbody tr&#34;)当时长度可能为零。

编辑:由于你需要多次调用这些函数并使用不同的自定义集,我会说从另一个函数调用你的ajax函数,并添加回调函数作为参数。在你的ajax成功之后调用这个回调函数

function arrayToTable(CallbackFunction)
{
$.ajax({
    type: "GET",
    url: "data/late.csv",
    success: function (data) {
        $('body .tableclass').append(arrayToTable(Papa.parse(data).data));
        CallbackFunction();
    }
});
}

答案 1 :(得分:0)

您在数据加载完成之前正在应用该类。要解决此问题,请执行以下操作:

$.ajax({
    type: "GET",
    url: "data/late.csv",
    success: function (data) {
        $('body .tableclass').append(arrayToTable(Papa.parse(data).data));
        $(".tableclass table tbody tr").each(function(){
           $(this).addClass("trclass");
        });
    }
});