尝试用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");
});
});
答案 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");
});
}
});