web-dev-qa-db-fra.com

Obtenir le nombre de lignes dans un tableau HTML

J'ai parcouru Internet à la recherche d'une réponse, mais je ne trouve pas de solution. Je souhaite compter le nombre de lignes de ma table HTML lorsqu'un bouton de lien est enfoncé. Quelqu'un peut m'aider s'il vous plaît?

C'est ce que j'ai jusqu'ici:

 $('#HypSelectAll').click(function () {
     var count = $('#gvPerformanceResult').children().length;
     for (i = 0; i < count; i++) {
        alert(i);
     }
 });

Mais une raison quelconque renvoie 0 alors que j'ai environ 12 lignes dans ma table? J'ai vérifié mon nom d'identité et c'est correct.

26
Code Ratchet

Essayer:

var count = $('#gvPerformanceResult tr').length;
53
John Conde
var x = document.getElementById("myTable").rows.length;
56
treeFan

Le code suivant suppose que votre table a l'ID 'MyTable'

<script language="JavaScript">
<!--
var oRows = document.getElementById('MyTable').getElementsByTagName('tr');
var iRowCount = oRows.length;

alert('Your table has ' + iRowCount + ' rows.');
//-->
</script>

Réponse tirée de: http://www.delphifaq.com/faq/f771.shtml , qui est le premier résultat sur Google pour la requête: "Obtenir le nombre de lignes dans un tableau HTML";)

6
Al_th

Dans le DOM, un élément tr est (implicitement ou explicitement) un enfant de tbody, thead ou tfoot, pas un enfant de table (d'où le 0 que vous avez obtenu). Donc, une réponse générale est:

var count = $('#gvPerformanceResult > * > tr').length;

Cela inclut les lignes de la table mais exclut les lignes d'une table interne.

5
Jukka K. Korpela

Cela dépend de ce que vous avez dans votre table.

c'est l'un des suivants Si vous n'avez qu'une seule table

var count = $('#gvPerformanceResult tr').length;

Si vous êtes préoccupé par les sous-tables mais cela ne fonctionnera pas avec tbody et thead (si vous les utilisez)

var count = $('#gvPerformanceResult>tr').length;

Où cela fonctionnera-t-il (mais est franchement excessif.)

var count = $('#gvPerformanceResult>tbody>tr').length;
0
Mark Broadhurst