Edición: He hecho una muestra de esta técnica en http://jsbin.com/igupu4/3. Haga clic en el encabezado de cualquier columna para ordenar ...
Si bien no tengo una respuesta a su pregunta sobre jquery, esta es una forma alternativa de obtener el comportamiento específico que describió aquí, números de fila fijos después de la clasificación. (. El uso de CSS, en concreto el content property y counter related properties/functions)
<html>
<head>
<title>test</title>
<style type="text/css">
tbody tr
{
counter-increment : rownum ;
}
tbody
{
counter-reset: rownum;
}
table#sample1 td:first-child:before
{
content: counter(rownum) " " ;
}
table#sample2 td.rownums:before
{
content: counter(rownum) ;
}
</style>
<script src="jquery-1.2.6.min.js" ></script>
<script src="jquery.tablesorter.min.js" ></script>
<script>
$(document).ready(function()
{
$("table").tablesorter();
}
);
</script>
</head>
<body>
<table id="sample1">
<thead>
<tr>
<th>Col 1</th>
<th>Col 2</th>
</thead>
<tbody>
<tr>
<td>
<p>foo</p>
</td>
<td>
<p>quuz</p>
</td>
</tr>
<tr>
<td>bar</td>
<td>quux</td>
</tr>
<tr>
<td>baz</td>
<td>baz</td>
</tr>
</tbody>
</table>
<table id="sample2">
<thead>
<tr>
<th>Rownums</th>
<th>Col 1</th>
<th>Col 2</th>
<th>More Rownums</th>
</thead>
<tbody>
<tr>
<td class="rownums"></td>
<td>
<p>foo</p>
</td>
<td>
<p>bar</p>
</td>
<td class="rownums"></td>
</tr>
<tr>
<td class="rownums"></td>
<td>quuz</td>
<td>baz</td>
<td class="rownums"></td>
</tr>
<tr>
<td class="rownums"></td>
<td>fred</td>
<td>quux</td>
<td class="rownums"></td>
</tr>
</tbody>
</table>
</body>
</html>
Si su navegador es suficientemente compatible CSS2.1, puede utilizar tr: antes en lugar de td: first-child: antes en la muestra 1. (Mozilla only supports this in trunk for now...)
En la muestra 2, puede ver cómo colocar sus columnas de número de fila en cualquier lugar, no solo en la primera columna.
¡Muy bonito! Creo que en el ciclo for debería haber '<=' en lugar de '<'. – Marcin
Cosas grandiosas, una pequeña cosa, sin embargo, no debería comenzar a buclear desde 'var i = 0;' sino 'var i = 1;' de lo contrario obtendrá 0 índice en la parte inferior de la tabla. – Marcin