从 HTML 元素获取 DataTable 对象

4 html javascript jquery datatables

我在尝试访问特定 HTML 元素的数据表对象时遇到问题。

我查看了 JQuery 数据表的文档并使用了这个例子:https : //datatables.net/reference/option/retrieve

然而,这不起作用。这是我的全局文件中的代码main.js

function initTable () {
    return $(".dynamic-table").DataTable({
        "aaSorting": [],
        "scrollY": 530,
        "scrollCollapse": true,
        "lengthMenu": [
            [100, 400, 1000, 5000, -1],
            [100, 400, 1000, 5000, "All"]
        ],
        "retrieve": true
    });
}

$(document).ready(function() {
    initTable();
});
Run Code Online (Sandbox Code Playgroud)

现在在我的另一个文件中,我尝试检索对象:

$(document).ready(function() {
    var table = initTable();
});
Run Code Online (Sandbox Code Playgroud)

这不会检索对象,而是再次初始化对象并导致表呈现两次。

在此处输入图片说明

我也试过:

$(document).ready(function() {
    var table = $(".dynamic-wide-table").DataTable();
});
Run Code Online (Sandbox Code Playgroud)

因为我读过一些线程说空白初始化只会检索对象。

这些解决方案都不起作用。如果有人知道我做错了什么,我将不胜感激!谢谢。

Chr*_*ins 9

$(".dynamic-wide-table").DataTable();
Run Code Online (Sandbox Code Playgroud)

像上面这样的引用是获取数据表 API 引用的正确方法。

您可以在数据表示例https://datatables.net/examples/ajax/objects.html 中对此进行测试,然后将以下 JS 输入您的控制台。您将看到它不会重绘表格或创建第二个表格。

  var table = $('#example').DataTable()
Run Code Online (Sandbox Code Playgroud)

另请参阅明确说明此方法的 API 文档https://datatables.net/reference/api/

使用该table对象,您可以执行任何数据表操作。