DataTables-1.10.9& jQuery.dataTables未捕获的TypeError:

时间:2015-09-22 08:30:21

标签: javascript datatables

使用DataTables,我可以在控制台中看到这个错误,即使我的表格被正确显示......我想这不是那么重要但是它可能会产生任何附带效果吗?

控制台中的错误是:

## assets =>  DataTable-1.10.9/js/jQuery.dataTables.js
Uncaught TypeError: Cannot read property 'replace' of null

并且错误的行是:var sTitle = col.sTitle.replace(/<.*?>/g,“”)

    ####   DataTable-1.10.9/js/jQuery.dataTables.js
    function _fnSortAria ( settings )
    {
       var label;
       var nextSort;
       var columns = settings.aoColumns;
       .../...

       // ARIA attributes - need to loop all columns, to update all (removing old
       // attributes as needed)
       for ( var i=0, iLen=columns.length ; i<iLen ; i++ )
       {
           var col = columns[i];
           var asSorting = col.asSorting;
           var sTitle = col.sTitle.replace( /<.*?>/g, "" );
           var th = col.nTh;
       ../...

检查它,col.sTitle为空...没有默认设置

DataTables.net文档(https://datatables.net/reference/option/columns.title)表示设置列标题的两种方法:我使用的是列()方式,我的所有标题都正确显示...它不表示我们什么时候应该采用一种方式或另一种方式...

$('#example').dataTable( {
  "columnDefs": [
    { "title": "My column title", "targets": 0 }
  ]
} );


$('#example').dataTable( {
  "columns": [
    { "title": "My column title" },
    null,
    null,
    null,
    null
  ]
} );

我“猜”它与我使用DataTable API而不是jQuery dataTable选择器的事实有关...

# here is my table initialisation 

  // Let datatables render it now - accessing API
  var table = $('#sheet').DataTable({
      dom: "<'row'<'col-xs-6'><'col-xs-6'f>r>t<'row'<'col-xs-6'l><'col-xs-6'p>>", 
      language: { url: langUrl },
      ordering: true,
      searching: true,
      paging: true,
      info: false,
      select: true,
      data: sheet.data,
      columns: column_titles
      columnDefs: [{"targets": [ 0 ],"visible": false}]
  });

0 个答案:

没有答案