destroy()
销毁当前上下文中的 DataTables。
描述
DataTables 增加了许多 HTML 元件、事件侦听器和其他修改,以便通过 DataTables 的特性来加强原始 HTML 表格。这个方法可以用来移除这些加强,让表格回归其原始的不加强的状态,不过表格中的数据会显示出来。
如果你需要根据新的准则创建新的表格,或者根据表格中的不同初始化设置或不同数量的列创建新的表格时,这个函数会非常有用,因为他们不能通过 API 来随时更改。如果你不需要更改表格的特性,而只是更改表格中包含的数据,那么可以考虑使用 clear()
、ajax.url()
和 rows.add()
方法。
如果你想用另一个表格替换当前表格,则需要销毁一个表格,以防止内存泄漏。
类型
函数 destroy( [ 移除 ] )
- 描述
通过移除所有 DataTables 增强、对表格的 DOM 结构的改动和事件侦听器来将当前上下文中的表格恢复到其在 DOM 中的原始状态。
- 参数
名称 类型 可选 1 移除
是 - 默认值:否 将表格完全从 DOM 中移除 (
true
) 或以其原始的普通未加强的 HTML 状态将其留在 DOM 中(默认值,false
)。自 v1.10.8 开始,如果将其设置为
true
,DataTables 将使用jQuery .remove()
方法 从页面上移除表格 - 这会自动移除由 jQuery 绑定到表格元素上的所有事件。如果将其设置为false
,自定义事件将不会从表格中移除 - 只有 DataTables 本身附加到表格上的事件才会移除。- 返回
DataTables API 实例
实例
在单击按钮时销毁现有表格
var table = new DataTable('#myTable');
$('#tableDestroy').on('click', function () {
table.destroy();
});
从服务器重新加载表格的完整描述,包括列
var table = new DataTable('#myTable');
$('#submit').on('click', function () {
$.getJSON('newTable', null, function (json) {
table.destroy();
$('#myTable').empty(); // empty in case the columns change
table = $('#myTable').DataTable({
columns: json.columns,
data: json.rows
});
});
});
相关
以下选项直接相关,在应用程序开发中可能也有用。