DataTables我遇到了一个奇怪的问题。在文档中,它有时会显示带有大写D的类名:
var table = $('#example').DataTable();
其他时间使用小写D:
var table = $('#example').dataTable();
两者都工作..大部分时间。我的问题是两个功能是冲突的。一个人需要这个类是小写的,一个需要大写。
例如,search function需要大写(有效):
https://jsfiddle.net/362cz1z7/
如果我使用小写(休息):
https://jsfiddle.net/362cz1z7/1/
我也想在同一个表上使用fnSettings函数......当然它需要小写,所以它会破坏我的搜索代码。
大写(休息):
https://jsfiddle.net/362cz1z7/2/
小写(有效):
https://jsfiddle.net/362cz1z7/3/
两者都给出了错误' Uncaught TypeError:undefined不是函数'。我完全糊涂了。如果你看一下文档中的例子,有些是大写的,有些是小写的。
答案 0 :(得分:1)
源代码中的注释比我更好地描述了这种情况(从第14,670行开始):
// With a capital `D` we return a DataTables API instance rather than a
// jQuery object
$.fn.DataTable = function ( opts ) {
return $(this).dataTable( opts ).api();
};
// All properties that are available to $.fn.dataTable should also be
// available on $.fn.DataTable
$.each( DataTable, function ( prop, val ) {
$.fn.DataTable[ prop ] = val;
} );
所以我想如果您尝试直接访问API,则使用大写D,如果您正在操作页面上的对象,则使用小写d。凌乱!