使用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}]
});