0

我正在使用 dataTable 插件。我解决了这个问题:

table.row 不是函数

(使用DataTable () 代替dataTable ())

有用:

function initTable(selector, ext)
{
    // merge defaults and extended settings
    ...
    // init plugin
    var table = $(selector).DataTable(params);
}
// call
initTable('#blah-blah', {...});

但我想要缓存变量(选择一次)并用于其他变量。

这不起作用(table.row 不再是函数):

function initTable(jqObj, ext)
{
    // merge defaults and extended settings
    ...
    // init plugin
    jqObj.DataTable(params);
}
// call
var table = $('#blah-blah');
initTable(table, {...});
// etc. reuse table

从 initTable 返回表对象?严重地?你可能以其他方式知道吗?

4

1 回答 1

0

在第一个函数中,您传递了一些选择器来创建一个新的 jQuery 对象,而在第二个函数中,您传递了一个 jQuery 对象。因此,我认为问题出在您的代码的另一行,因为您的第二种方法在此代码示例中运行良好:

$(document).ready(function() {
    function initTable(jqObj, ext)
    {
        jqObj.dataTable(ext);
    }
    // call
    var table = $('#example');
    initTable(table, {"sPaginationType": "full_numbers"});
});

演示:http: //jsfiddle.net/6pvtarpc/

于 2015-03-17T10:20:29.917 回答