我使用的是WordPress的插件 TablePress 的表格。它创建了 数据表 桌子,我想 启动后修改.
问题:表格是 已初始化 的插件,这意味着我不能再使用构造函数。
// Already set by the plugin:
$('#tablepress-1').dataTable({
columnDefs: [
{ targets: -1, className: 'dt-body-right'}
]
});
我在找类似的东西(伪代码)。
var table = $('#tablepress-1').dataTable();
table.updateConfig({
columnDefs: [
{ targets: -1, className: 'dt-body-right'}
]
})
有什么办法吗?
你到底想修改什么,不是很清楚。很多选项是不能修改的,比如说要修改的是 columnDefs
需要重新初始化(这需要 destroy: true
). 如果你要修改的选项是通用静态的,你可以扩展至 数据表默认:
$.extend( true, $.fn.dataTable.defaults, {
columnDefs: [
{ targets: '_all', className: 'dt-body-right' } // _all not -1
]
})
className
和任何其他 default
仍然可以被传递给构造函数的选项所覆盖。 如果这是问题所在,你可以 "猴子补丁 "DataTables。
const orgDT = $.fn.DataTable
$.fn.DataTable = function(config) {
config.columns[0].className += ' table-success'
return orgDT.call(this, config)
}
这样可以100%控制 "tablepress "对数据表的初始化 -- 配置被简单地拾取,并且可以在表被实例化之前被改变。