jquery-Selektor, um die Anzahl der sichtbaren Tabellenzeilen zu zählen?

Lesezeit: 1 Minute

Ich habe dieses html:

<table>
    <tr style="display:table-row"><td>blah</td></tr>
    <tr style="display:none"><td>blah</td></tr>
    <tr style="display:none"><td>blah</td></tr>
    <tr style="display:table-row"><td>blah</td></tr>
    <tr style="display:table-row"><td>blah</td></tr>
</table>

Ich muss die Anzahl der Zeilen zählen nicht haben display:none. Wie kann ich das machen?

Du kannst den … benutzen :visible Wähler und .length so was:

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

Wenn die <table> selbst ist auf dem Bildschirm nicht sichtbar (:visible gibt false zurück, wenn ein übergeordnetes Element ausgeblendet ist, das Element muss nicht direkt ausgeblendet werden), dann verwenden .filter()so was:

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

  • Und wenn Sie möchten, dass die Zählung nur sichtbare Zeilen im Tabellenkörper enthält, verwenden Sie $(‘tr:visible’).length – $(‘thead>tr’).

    – Christoph König

    19. März 2015 um 14:39 Uhr

$('tr:visible').length

Sie können auch bestimmte sichtbare Tabellenzeilen anzeigen

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

Das totalRowWithoutHeader gibt die Gesamtzeilenzahl ohne Kopfzeile an.

  • Es ist besser, die Anzahl der Kopfzeilen nicht fest zu codieren und stattdessen $(‘thead>tr’).length zu verwenden.

    – Christoph König

    19. März 2015 um 14:40 Uhr

  • Danke, genau das habe ich gebraucht!

    – Tomas Votruba

    18. Oktober 2018 um 14:46 Uhr

Benutzer-Avatar
Brian Haupt

$(“tr:visible”) liefert Ihnen die Ergebnisse der sichtbaren Zeilen, und ich denke, Sie können dann .length ausführen

1296730cookie-checkjquery-Selektor, um die Anzahl der sichtbaren Tabellenzeilen zu zählen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy