使用不同函数时 DataTables 中出现奇怪的 class 名称问题
Strange class name issue in DataTables when using different functions
我在使用 DataTables 时遇到了一个奇怪的问题。在文档中,有时它会显示带有大写 D:
的 class 名称
var table = $('#example').DataTable();
其他时候使用小写 D:
var table = $('#example').dataTable();
两者都有效.. 大多数时候。我的问题是两个功能相互冲突。一个需要 class 小写,一个需要大写。
例如,search function 需要大写(有效):
https://jsfiddle.net/362cz1z7/
如果我使用小写(中断):
https://jsfiddle.net/362cz1z7/1/
我也想在同一个 table 上使用 fnSettings 函数...当然它需要小写所以它破坏了我的搜索代码。
大写(换行符):
https://jsfiddle.net/362cz1z7/2/
小写(有效):
https://jsfiddle.net/362cz1z7/3/
两者都报错'Uncaught TypeError: undefined is not a function'。我完全糊涂了。如果您在文档中查看他们的示例,有些是大写的,有些是小写的。
源代码中的注释比我更好地描述了这种情况(从第 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。凌乱!
我在使用 DataTables 时遇到了一个奇怪的问题。在文档中,有时它会显示带有大写 D:
的 class 名称var table = $('#example').DataTable();
其他时候使用小写 D:
var table = $('#example').dataTable();
两者都有效.. 大多数时候。我的问题是两个功能相互冲突。一个需要 class 小写,一个需要大写。
例如,search function 需要大写(有效):
https://jsfiddle.net/362cz1z7/
如果我使用小写(中断):
https://jsfiddle.net/362cz1z7/1/
我也想在同一个 table 上使用 fnSettings 函数...当然它需要小写所以它破坏了我的搜索代码。
大写(换行符):
https://jsfiddle.net/362cz1z7/2/
小写(有效):
https://jsfiddle.net/362cz1z7/3/
两者都报错'Uncaught TypeError: undefined is not a function'。我完全糊涂了。如果您在文档中查看他们的示例,有些是大写的,有些是小写的。
源代码中的注释比我更好地描述了这种情况(从第 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。凌乱!