function Table(columns, data, actions, elementId) { this.columns = columns this.data = data this.actions = actions this.element = $(elementId) } Table.prototype.RenderTable = function () { let self = this // 创建表格元素 let $table = $(''); // 创建表头 let $thead = $(''); let $theadRow = $(''); self.columns.forEach(function(col) { $theadRow.append(''); }); // 如果有操作按钮,添加操作列 if (self.actions.length > 0) { $theadRow.append(''); } $thead.append($theadRow); $table.append($thead); // 创建表体 let $tbody = $(''); self.data.forEach(function(row) { let $tr = $(''); row.forEach(function(cell) { $tr.append(''); }); // 如果有操作按钮,添加操作单元格 if (self.actions.length > 0) { let $actionTd = $('
' + col + '操作
' + cell + ''); self.actions.forEach(function(action) { let $button = $(''); $button.on('click', function() { action.onClick(row); }); $actionTd.append($button); }); $tr.append($actionTd); } $tbody.append($tr); }); $table.append($tbody); // 将表格添加到目标元素中 self.element.html($table); }