Get all rows in the "current" table, and not from child tables

Probably:

var rows = $("#tableid>tr");

var rows = $('#tblID > tbody > tr')

The child selector will get the table's <tbody> element and consequently get the <tr> elements that are direct children of the table's tbody.

If you already have a table object:

var rows = $(tbl).find('> tbody > tr');

Or:

var rows = $(tbl).children('tbody').children('tr');

Here is a working example.


var count = $('#tableID').rows;

It works, because the selector will return a HTMLTableElement object.


If you just want the count of rows, you can simply use:

var table = document.getElementById('tableID');  
table.rows.length;  

Or you can use direct children selector:

$('table > tbody > tr').each(function(index, tr) {} );

Tags:

Jquery