Get the tr elements which are not in the DOM

  • Author: Allan Jardine
  • Deprecated: This plug-in has been deprecated and replaced with other functionality. Please see the detailed description below for more information.

Get a list of all tr nodes in the table which are not currently visible (useful for building forms).

This function is marked as deprecated as using the rows() method in DataTables 1.10+ is preferred to this approach.

Plug-in code

jQuery.fn.dataTableExt.oApi.fnGetHiddenNodes = function ( settings )
    var nodes;
    var display = jQuery('tbody tr', settings.nTable);

    if ( jQuery.fn.dataTable.versionCheck ) {
        // DataTables 1.10
        var api = new jQuery.fn.dataTable.Api( settings );
        nodes = api.rows().nodes().toArray();
    else {
        // 1.9-
        nodes = this.oApi._fnGetTrNodes( settings );

    /* Remove nodes which are being displayed */
    for ( var i=0 ; i<display.length ; i++ ) {
        var iIndex = jQuery.inArray( display[i], nodes );

        if ( iIndex != -1 ) {
            nodes.splice( iIndex, 1 );

    return nodes;


This plug-in is available on the DataTables CDN:


Note that if you are using multiple plug-ins, it is beneficial in terms of performance to combine the plug-ins into a single file and host it on your own server, rather than making multiple requests to the DataTables CDN.

Version control

If you have any ideas for how this plug-in can be improved, or spot anything that is in error, it is available on GitHub and pull requests are very welcome!


var table = $('#example').dataTable();
  var nodes = table.fnGetHiddenNodes();