Javascript 检索元素的dataTable对象
我正在尝试使用jQuery获取jQuery数据表的对象。我正在使用此线程来完成此任务: 出于某种原因,这不起作用。当我调用Javascript 检索元素的dataTable对象,javascript,jquery,datatables,datatables-1.10,Javascript,Jquery,Datatables,Datatables 1.10,我正在尝试使用jQuery获取jQuery数据表的对象。我正在使用此线程来完成此任务: 出于某种原因,这不起作用。当我调用$('.dynamic wide table').dataTable()时它使我的表再次初始化,并使表呈现两次,如下所示: 根据上面发布的链接,它不应该这样做,而应该只是获取对象 这是我的密码: main.js(加载到每个页面的HTML头部) 获取对象: $(document).ready(function() { $('.dynamic-wide-table'
$('.dynamic wide table').dataTable()时代码>它使我的表再次初始化,并使表呈现两次,如下所示:
根据上面发布的链接,它不应该这样做,而应该只是获取对象
这是我的密码:
main.js
(加载到每个页面的HTML头部)
获取对象:
$(document).ready(function() {
$('.dynamic-wide-table').dataTable();
});
评论如下:
您将无法获取单个tables对象,因为该类的每个元素都有自己的dataTable
对象
您可以遍历这些类并检索每个单独的类。为了获得单个元素dataTable
对象,您需要知道该对象来自哪个表元素:
$(document).ready(function() {
$('.dynamic-wide-table').each(function(i){
console.log('table no. ' + i );
// Should print the dataTable object for each element to the console
console.log($(this).dataTable());
});
});
理想的做法是为每个单独的表提供一个id,然后使用id检索dataTable
对象:
$('#tableId').dataTable();
嗯,我不认为你需要同时设置这两个
如果删除get对象代码,它应该停止触发两次
您已经在main.js
中执行了此操作,但同时加载了选项。您正在尝试获取哪个对象?datatables对象。回答很糟糕。没有解决我想要的任何问题。很抱歉,我从“它导致我的表再次初始化并使表呈现两次”中得到了它。我的错误。我无法在main.js
中设置变量,因为我在多个页面上有多个表。换句话说,一个变量不能引用页面上的多个表。因此,我需要在需要时检索每个页面上的对象本身,所以您可以将它实例化为每个表的一个变量。然后,每个变量都将包含一个对象,您可以在该对象上调用函数来对该表执行操作。每个页面都有不同数量的表,我无法通过编程知道给定页面上有多少个表。@Nic您必须实例化每个表,否则它们将无法呈现?是的,这就是我通过类名引用的原因。因此,将为给定页面上的每个表创建对象。在某些页面上,我需要访问datatables对象,这就是为什么我想做我正在做的事情。
$('#tableId').dataTable();