58 votes

jquery selector pour compter le nombre de lignes de table visibles?

J'ai ce code 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>
 

Je dois compter le nombre de lignes qui n'ont pas display:none . Comment puis je faire ça?

133voto

Nick Craver Points 313913

Vous pouvez utiliser l' :visible sélecteur et .length comme ceci:

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

Si l' <table> elle-même n'est pas visible sur l'écran (:visible retourne false si un parent est caché, l'élément ne doit pas être caché directement), puis utilisez .filter(), comme ceci:

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

14voto

Tatu Ulmanen Points 52098

$('tr:visible').length

8voto

Kailas Points 344

Vous pouvez également afficher certaines lignes de la table

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

TotalRowWithoutHeader donne le nombre total de lignes à l'exclusion de la ligne d'en-tête.

3voto

Brian Mains Points 31772

$ ("tr: visible") vous obtient les résultats des lignes visibles, et je pense que vous pouvez alors faire .length

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X