我正在使用jquery函数将所有ag-grid表数据(标题和行)转换为HTML plain数据。
This is my copy function:
scope.copyRows = [];
scope.copyTable = function(tableId) {
console.log($("#" + tableId ).children());
scope.copyRows = [];
var i = -1;
$("#" + tableId).find(".ag-row").each(function(){
console.log(tableId);
console.log($("#" + tableId).find(".ag-header-container"));
i++;
var rowNum = i;
scope.copyRows[rowNum] = [];
$(this).children(".ag-cell").each(function(){
scope.copyRows[rowNum].push({"text" : $(this).text(), "style" : $(this).attr("style"),"class" : $(this).attr("class").replace("ag-cell", "").replace("ag-cell-no-focus","")});
});
});
}
上面是我的函数,它工作正常并打印表的所有行。我不太确定和混淆如何使这个功能打印ag-grid表的标题。我在div中寻找.ag-header-container并尝试这样调用:
$("#" + tableId).find(".ag-header-container").children(".ag-row").each(function(){
console.log(tableId);
console.log($("#" + tableId).find(".ag-header-group").children());
i++;
var rowNum = i;
scope.copyRows[rowNum] = [];
$(this).children(".ag-cell").each(function(){
scope.copyRows[rowNum].push({"text" : $(this).text(), "style" : $(this).attr("style"),"class" : $(this).attr("class").replace("ag-cell", "").replace("ag-cell-no-focus","")});
});
});
这不会返回任何数据。我不确定为什么会失败?可能是因为页面有很多表,它不知道我指的是哪个.ag-header-container。但是为什么它不能识别容器,因为我使用#id来区分不同的表。任何帮助都会非常明显。
This function worked after some hours of trial and error:
$("#" + tableId).find(".ag-row, .ag-header-container").each(function(){
// console.log(tableId);
// console.log($("#" + tableId).find(".ag-body-container").children(".ag- row"));
i++;
var rowNum = i;
// alert($(this).children(".ag-cell").length);
scope.copyRows[rowNum] = [];
$(this).find(".ag-cell, .ag-header-cell").each(function(){
scope.copyRows[rowNum].push({"text" : $(this).text(), "style" : $(this).attr("style"),"class" : $(this).attr("class").replace("ag-cell", "").replace("ag-header-cell", "").replace("ag-header-group-cell", "").replace("ag-cell-no-focus","")});
});
});
}
如何为此功能实现样式。我想为这个HTML数据添加一些自定义的单元格样式。如何在此代码中执行该操作?
谢谢!