2010-05-28 1 views

Antwort

118

können Sie verwenden die :visible selector und .length wie folgt aus:

var numOfVisibleRows = $('tr:visible').length; 

Wenn die <table> sich nicht auf dem Bildschirm sichtbar ist (:visible gibt false zurück, wenn alle Eltern versteckt ist, das Element nicht zu sein braucht direkt) versteckt, dann .filter() verwenden, wie folgt aus:

var numOfVisibleRows = $('tr').filter(function() { 
    return $(this).css('display') !== 'none'; 
}).length; 
+2

Wenn Sie nur möchten, dass die Anzahl sichtbare Zeilen im Tabellenkörper enthält, verwenden Sie $ ('tr: visible'). Length - $ ('thead> tr'). –

11

$('tr:visible').length

+0

danke mann! Ich habe gearbeitet –

3

$ ("tr: ​​visible") bekommt man die Ergebnisse der sichtbaren Zeilen, und ich denke, man kann dann tun .length

+3

Nicht sicher, warum das upvoted ist, '.is (": visible ")' gibt einen ** boolean ** zurück, Sie können nicht '.length' aufrufen, anstatt' .is() 'you 'nect'. filter() '. –

+0

Danke, schrieb falsche Aussage ... –

5

Sie auch bestimmte Tabelle sichtbaren Zeilen anzeigen können

var totalRow = $('#tableID tr:visible').length; 
var totalRowWithoutHeader = totalRow-1; 

Die totalRowWithoutHeader Gibt die Gesamtzahl der Zeilen ohne Kopfzeile an.

+2

Besser, die Anzahl der Kopfzeilen nicht fest zu codieren und stattdessen $ ('thead> tr'). Length zu verwenden. –