如何使用DataTables方法

如何使用DataTables方法,datatables,undefined,Datatables,Undefined,我正在使用用于jQuery的DataTables插件,但在尝试使用该方法时,不断出现以下错误: var dt = $('#data').dataTable(); dt.fnDestroy(); var data = document.getElementById('data'); data.fnDestroy(); 我已尝试使用以下所有变体: var dt = $('#data').dataTable(); dt.fnDestroy(); var data = document.getEl

我正在使用用于jQuery的DataTables插件,但在尝试使用该方法时,不断出现以下错误:

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
我已尝试使用以下所有变体:

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
(一)

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
(二)

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
(三)

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
“数据”对象存在-HTML如下所示:

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
<div class="resultset">
     <table class="display" id="data">              
         <tbody>

         </tbody>
      </table>  
</div>
编辑

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();

DataTable显示良好,其他方面工作正常。当我尝试执行此功能时,会出现问题。

您确定正在
文档中运行
fndroduction
。准备好了吗?
var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
可能是因为dom尚未正确加载而导致出现未定义错误

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
这也可能意味着你的表是不正确的,但我必须能够看看,以确保

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();

看看这把小提琴,它使用了你的第二个选项,而且运行得非常完美:

这似乎是

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
_table = jQuery('table#fp-table-table').dataTable(); // .fnDestroy() works

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
DataTable似乎是针对对象的API调用,DataTable似乎是初始化方法

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();

在我的项目中,我更改了初始化,使用DataTable而不是DataTable来执行过滤任务。在此之后,我的AJAX重新加载将抛出“未定义”错误,因此我将其更改回。。。从datables 1.10手册中创建:

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
请务必注意$(选择器).DataTable()和$(选择器).DataTable()之间的差异。前者返回DataTables API实例,而后者返回jQueryJS对象。jQuery对象中添加了一个api()方法,因此您可以轻松访问该api,但jQuery对象在操作表节点时非常有用,就像处理任何其他jQuery实例(例如使用addClass()等)一样

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
因此,您可以使用DataTable(),但接下来需要使用_table.api().fndroduction();似乎是这样。

如果您转到并向下滚动,您将看到以下内容:

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
“升级说明: 如果您是从DataTables 1.9或更早版本升级,您可能会注意到此处使用大写D来初始化DataTable。$().DataTable()返回DataTables API实例,而$().DataTable()也将初始化DataTable,但返回jQuery对象

var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
有关更多信息,请参阅API手册。

您可以尝试
var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();
table.destroy()

这适用于我的情况

Yes document is ready(文档准备就绪)。在页面准备就绪之前,不会调用javascript。您的表有效吗?如果您警告dt变量,并且该变量未定义,则通常会出现无效的html表。。表有效。datatable显示良好-当我尝试运行此函数时,我遇到错误。OMG!!这就是问题所在解决了我的问题!!我花了大约一天的时间试图解决这个问题,这很奇怪。谢谢!!fnDestroy没有使用JQuery 3.x。我也面临同样的问题。我认为唯一的选择是将Datatable升级到最新版本
var dt = $('#data').dataTable();
dt.fnDestroy();
var data = document.getElementById('data');
data.fnDestroy();