jQuery DataTables - 迭代过滤行并获取节点/隐藏列数据

Res*_*ent 3 javascript jquery datatables

在迭代它们时,我一直试图获取所有已过滤行的隐藏列数据。

        var table = $('#'+dataTableSelector).dataTable();

        table.$('tr', {"filter":"applied"}).each( function () {
            var row = this;
        });
Run Code Online (Sandbox Code Playgroud)

显然row指的是数据表的TR实例;但是,如果我访问 TR 的子元素,这些元素仅包含相关行的可见列。

我想访问相关行的所有数据,但是当我尝试引用数据表或table.row(this).node()在每个函数中它不起作用 - 行不是函数。

如何获取应用过滤器的行的所有数据?

Res*_*ent 8

$(dataTableSelector).DataTable().rows( { filter: 'applied' } ).every( function () {
    var row = this.data();
});
Run Code Online (Sandbox Code Playgroud)

这将获取 DataTable 实例(其中 dataTableSelector 是 HTML 标记中的表 ID),然后获取应用了筛选器的所有行,然后迭代所有这些行。

与所应用的过滤器不匹配的行(因此在数据表中不可见)将不会出现在返回的结果中rows( { filter: 'applied' } )

row[0]您可以通过等访问该行的每一列row[1];row 将是所有列的数组,包括不可见的列。