Вы можете использовать CSS для этого, хотя это зависит от пользователей, имеющих новейший браузер, и, хотя я не могу проверить его на месте, вероятно не поддерживается в IE:
table {
counter-reset: rowNum;
}
tbody tr {
position: relative;
counter-increment: rowNum;
}
thead tr:before {
content: ''; /* important, otherwise the columns don't line up properly */
}
tbody tr:before {
content: counter(rowNum);
left: -2em;
}
JS Fiddle demo .
Я оставил текущую нумерацию на месте, чтобы сравнить подходы.На практике это следует (вероятно) удалить, если вы решите применить это решение.