如何检查变量是否是一个初始化的DataTable
How to check if variable is an initialized DataTable?
是否有一种方法来确定一个变量是否是一个初始化的DataTable ?我基本上是这样做的:
if (isDataTable(variable)) {
// datatable ... do datatable stuff
} else {
// not a datatable... do other stuff
}
我假设可以使用$.fn.dataTable.isDataTable()
,但这只适用于表选择器,而不适用于包含初始化DataTable的变量。对于 (EDIT: datatable的创建者已经在这次提交中扩展了$.fn.dataTable.isDataTable()
,因此该函数不再为真):
var table = $("#table").DataTable(); // Valid initialized DataTable
console.log($.fn.dataTable.isDataTable("#table")); // Returns true
console.log($.fn.dataTable.isDataTable(table)); // Returns false...why?
我问了DataTables的创建者这个问题,他建议使用instanceof
:
if (table instanceof $.fn.dataTable.Api) {
// variable "table" is a valid initialized DataTable ... do datatable stuff
} else {
// variable "table" is not a datatable... do other stuff
}
这种方法完全按照需要工作。他还在这次提交中扩展了$.fn.dataTable.isDataTable()
,以便允许可变输入。
您不需要将JQuery实例传递给isDataTable()
。
isDataTable()
需要ID。
Please check this:
如何检查数据表是否初始化
From Documentacion of DataTable:
https://datatables.net/reference/api/$ .fn.dataTable.isDataTable ()
这个方法提供了检查表(标记)节点是否已经是是否为DataTable。这对确保你不这样做很有用重新初始化一个已经是DataTable的表
可接受的答案的问题是,如果没有首先初始化DataTable,将很难获得对实际DataTable元素的正确引用。
相反,新版本的DataTables允许您灵活可靠地使用$.fn.dataTable.isDataTable
功能。
之前初始化:
$.fn.dataTable.isDataTable("#my_table")
false
$.fn.dataTable.isDataTable($("#my_table"))
false
$.fn.dataTable.isDataTable($("#my_table").eq(0))
false
$.fn.dataTable.isDataTable($("#my_table").get(0))
false
初始化后
:
$.fn.dataTable.isDataTable("#my_table")
true
$.fn.dataTable.isDataTable($("#my_table"))
true
$.fn.dataTable.isDataTable($("#my_table").eq(0))
true
$.fn.dataTable.isDataTable($("#my_table").get(0))
true
相关文章:
- 当我单击下一个或上一个按钮时,datatable显示旧值
- 我们如何在jQuery Datatable调用结果中启动另一个jQuery插件,而不是页面就绪函数
- Datatable makeEditable() 不是一个函数
- 是否可以使用 javascript 制作一个带有包含秒表的列的 p:dataTable
- this.dataTable.getNumberOfRows不是一个函数错误时再次挂载react谷歌图表
- 用户表类型错误.dataTable不是一个函数
- datatable mRender对象不是一个函数.错误
- 如何在jQuery DataTable中获得下一个数据负载
- DataTable makeEditable不工作(不是一个函数),是我的JS脚本兼容
- 用JSON填充DataTable时,需要在一个列中呈现一个超链接,并在另一个JSON字段中找到一个值
- 如何检查变量是否是一个初始化的DataTable
- 如何在控制器中加载一个带有javascript数组的angular-datatable表
- 从另一个页面加载DataTable内容而不会失去对Javascript的控制
- DataTable不是一个函数,引用的文件被正确加载
- . datatable不是一个函数
- TypeError: $ (. .)DataTable不是一个函数
- 从另一个js文件中的另一个函数重新加载dataTable ajax源
- 错误.fn.DataTable美元.TableTools不是一个函数
- RequireJS - $(..).DataTable不是一个函数
- 如何在datatable中添加一个复选框