DataTables 3.0.0
DataTables CDN files for DataTables 3.0.0. This software was originally released on 22nd July, 2026.
Release notes
The third major release of DataTables brings a number of improvements to the software, with the highlight being that it is now dependency free (no jQuery requirement any more).
For a high level overview of DataTables 3, please see the following documentation:
Since the 3.0.0-beta.2 release there have been a number of changes and few new features, which are detailed below.
For a full description of the changes in this major release since the last non-beta release, please refer to the release notes for the two betas:
New
DataTable.key()which is used to register a license key for use with DataTables Plus extensions (e.g. Editor and CardView).- Row invalidation event which can be used by extensions to tell when a row's data has been updated.
- When a page length is specified that isn't in the dropdown list (
pageLength), a temporary option for that value will be added so it is less confusing for the end user. DataTable.Dom.s(document).on('ready'...)event. This is provided as a convenience rather than needing to listen forDOMContentLoadedand take account of if the document has already loaded or not.
Fixes
- When the datetime renderer was used for the first time, it would override any class already set for that rendering type.
- Improved performance when appending a large number of DOM elements and a DOM mutation observer is used.
- Table initialisation would not complete if state saving with named columns and the ordering column changed.
data-dt-rowanddata-dt-columnselectors weren't working correctly- Delegated event removal without jQuery
- Cancel Ajax when beforeSend returns false
- Fix vanilla delegated blur handling
columns().widths()didn't correctly take into account Responsive hidden columns- If
datais provided as a string forDataTable.ajaxit wasn't submitting - Adding
autocomplete=offattributes to table input controls to improve accessability - Events added by
onare now automatically removed if a table is destroyed - Caption position wasn't correct when used with scrolling features
- Empty footer is no longer in the DOM, so the CSS to hide an empty footer is redundant and can be removed.
Docs
dom,pagingTypeandorderCellsTopwhere marked for removal in v3, but they are too widely used to remove at the moment. Onlydomtakes much code (and even then, not much) but it would be the most disruptive. Removing them from v3 deprecation target.
Files
css
- //cdn.datatables.net/3.0.0/css/dataTables.bootstrap.css
- //cdn.datatables.net/3.0.0/css/dataTables.bootstrap.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.bootstrap4.css
- //cdn.datatables.net/3.0.0/css/dataTables.bootstrap4.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.bootstrap5.css
- //cdn.datatables.net/3.0.0/css/dataTables.bootstrap5.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.bulma.css
- //cdn.datatables.net/3.0.0/css/dataTables.bulma.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.dataTables.css
- //cdn.datatables.net/3.0.0/css/dataTables.dataTables.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.foundation.css
- //cdn.datatables.net/3.0.0/css/dataTables.foundation.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.jqueryui.css
- //cdn.datatables.net/3.0.0/css/dataTables.jqueryui.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.material.css
- //cdn.datatables.net/3.0.0/css/dataTables.material.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.semanticui.css
- //cdn.datatables.net/3.0.0/css/dataTables.semanticui.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.tailwindcss.css
- //cdn.datatables.net/3.0.0/css/dataTables.tailwindcss.min.css
- //cdn.datatables.net/3.0.0/css/dataTables.uikit.css
- //cdn.datatables.net/3.0.0/css/dataTables.uikit.min.css
js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap4.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap5.js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap5.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap5.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap5.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.bulma.js
- //cdn.datatables.net/3.0.0/js/dataTables.bulma.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.bulma.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.bulma.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.dataTables.js
- //cdn.datatables.net/3.0.0/js/dataTables.dataTables.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.dataTables.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.dataTables.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.foundation.js
- //cdn.datatables.net/3.0.0/js/dataTables.foundation.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.foundation.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.foundation.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.jqueryui.js
- //cdn.datatables.net/3.0.0/js/dataTables.jqueryui.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.jqueryui.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.jqueryui.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.js
- //cdn.datatables.net/3.0.0/js/dataTables.material.js
- //cdn.datatables.net/3.0.0/js/dataTables.material.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.material.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.material.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.semanticui.js
- //cdn.datatables.net/3.0.0/js/dataTables.semanticui.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap.js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap4.js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap4.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.bootstrap4.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.semanticui.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.semanticui.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.tailwindcss.js
- //cdn.datatables.net/3.0.0/js/dataTables.tailwindcss.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.tailwindcss.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.tailwindcss.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.uikit.js
- //cdn.datatables.net/3.0.0/js/dataTables.uikit.min.js
- //cdn.datatables.net/3.0.0/js/dataTables.uikit.min.mjs
- //cdn.datatables.net/3.0.0/js/dataTables.uikit.mjs