Since: FixedColumns 3.1.0

Get the cell index of a cell in a fixed column.
Please note - this property requires the FixedColumns extension for DataTables.


As of v3.2.1 this feature has been deprecated. This feature has not yet been scheduled for removal, but its use is discouraged and the alternatives discussed below should be used.

As of DataTables 1.10.11 and FixedColumns 3.2.1 this method is no longer required to obtain a cell index from a node as the cell() method will accept the td elements in the fixed column as selector arguments.


Get the cell index for any cell clicked upon in a table (from the fixed column, or the main table):

var table = $('myTable').DataTable();

$(table.table().container()).on( 'click', 'td', function () {
	var cell = table.cell( this );
	console.log( cell.index() );
} );


When working with FixedColumns, there is additional complexity in the DataTable as the fixed columns are not technically part of the host DataTables - they just look like it! They are in fact HTML table elements themselves, with specific styling to visually integrate them with the host table.

Since the fixed columns are the ones that the end user sees, they are also the ones that the user will interact with - for example clicking on a cell in the fixed column will give the fixed column cell and not the cell in the DataTable!

This method is provided to be able to convert from a cell in the fixed columns into a DataTables cell, by returning the cell data index (this is not the visible index, but rather an index internal to DataTables!). That index can then be used with the cell() method to obtain a reference to the main DataTable cell.


function fixedColumns().cellIndex( row )


Get the cell index (cell().index()) for a td/th element, regardless of if the cell is contained in a fixed column, or in the scrolling table.


The cell index for the given cell.


Get the cell index for any cell clicked upon in a table:

$(document).on( 'click', 'td', function () {
} );