DataTables 1.10.6

DataTables CDN files for DataTables 1.10.6. This software was originally released on 2nd April, 2015.

Release notes

This is a maintenance release for the 1.10 series of DataTables series and includes a number of fixes for issues found in the previous versions. It is therefore a recommended upgrade for everyone using DataTables 1.10.

Although primarily focused on addressing bugs, a few new features have also been added. Of particular interest are the new rows().every(), columns().every() and cells().every() iterator methods. This can make working with multiple rows, columns and cells much easier and cleaner in the API as this in the iterator function is an API instance for the singular version of that table element (i.e. it would be the equivalent of row( index ). This can help reduce the amount of code required to perform simple table operations.


  • New: rows().every(), columns().every() and cells().every() iterator methods to make it easier to perform operations on the table elements. This is done by setting the context of the callback provided to be the singular expression for the table element in question. This basically means you can access the singular methods from this - e.g. will get the data for the element, this.node() will get the cell when using cells().every() etc. The existing iterator methods of each() and iterator() remain, and each has its own place for optimal usage of the API, but it is likely that the majority of use will switch to focus on these new methods. The examples in the rest of the documentation has been updated to reflect this fact.
  • New: init() method for plug-in developers to get the initialisation options configured for the DataTable
  • New: The option, when used as a function, now has the DataTables' settings object passed in as the second parameter, which can be useful to access the API if needed


  • Update: ajax.dataSrc can now manipulate the server-side processing parameters for paging information
  • Updated: Extend currency support to include all top 20 internationally traded currencies. This includes the Russian ruble, South Korean Won, Turkish Lira, India Rupee, Brazilian real, South African rand, Swiss franc, Swedish korona, Norwegian krone and Danish krone.


  • Fix: If a loaded state does not contain a parameter it could throw an error. This could occur when the stateSave event removed parameters from the state object
  • Fix: $.fn.dataTable.ext.pager.numbers_length was not taken into account when showing ellipsis on both sides of the current number in the paging controller
  • Fix: Ellipsis elements didn't have padding which could be jarring when shifting between paging that does and doesn't show ellipsis
  • Fix: row().child() couldn't accept an array of jQuery objects
  • Fix: Scrollbar width wasn't correctly detected in IE9
  • Fix: Scrollbar width was being calculated every time requested on machines with zero width scrollbars
  • Fix: When holding shift and clicking on a single sorted column it was possible to attempt to remove the sort (the internal sorting array was []). This shouldn't be possible, and now isn't.
  • Fix: Update number render to return the original data point if the data passed in is not a number or a string. This allows columns.defaultContent to be used.
  • Fix: If async:false is used in the Ajax configuration, callbacks assigned with ajax.reload() would not trigger until another draw has been executed.
  • Fix: Update bower.json to not use a glob as it is unclear from the bower spec if this is supported or not and other extensions such as BowerWebpackPlugin do not support it.
  • Fix: $.fn.dataTable.isDataTable() could give incorrect results if a table did not have scrolling enabled
  • Fix: If the thead contained a table the selector that was looking to find the first row in the table was selected the row from the header table rather than the tbody. This could cause errors such as HTML5 data-* attributes not being detected.
  • Fix: cells() when given a selector options object in the first parameter was incorrectly applying the selector for the cells.
  • Fix: The initialisation object was being cloned on init which could cause a major performance hit if you pass in a large data set into data. The table node and internal API reference also should not be cloned.
  • Fix: xhr was not being emitted when ajax was being given as a function
  • Fix: Scrollbar left detection wasn't allowing for sub-pixel rendering which occurs when browsers are zoomed
  • Fix: Error in the detection of style="width:..." attributes. DataTables was reading the pixel value that it had written if the columns were recalculated. Now only percentage values are used from the style width.
  • Fix: Legacy API fnDraw was incorrectly handling the case when false was passed in.
  • Fix: Due to use of an HTML entity, DataTables could fail on XHTML pages
  • Fix: columns.orderData wasn't working if given as an integer


  • Fix - CSS: compact style could have the column title overlapping the sorting indicator
  • Fix - CSS: Improved interoperability for setting background colour on header cells


  • Fix - examples: Demo script needs to check for the dt namespace on events triggered by DataTables
  • Fix - example: Server-side processing child rows example would throw a JS error if you click on the child row