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.
Essayer:
var count = $('#gvPerformanceResult tr').length;
var x = document.getElementById("myTable").rows.length;
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";)
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.
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;