連番idカラムを追加するシンプルな例

たとえばこんなテーブルがあります。

html

 
		<table id="sample">
			<tr>
				<td>果物</td>
				<td>オレンジ</td>
			</tr>
			<tr>
				<td>果物</td>
				<td>パイナップル</td>
			</tr>
			<tr>
				<td>野菜</td>
				<td>キャベツ</td>
			</tr>
		</table>
	

jQueryは次のようになります。
「prepend」で一番要素の最初(左の列)に追加します。
eachは0から始まるのでi+1にすることで「1」から表示するようにします。

javascript

 
	$(function() {
		$('#sample tr').each(function(i) {
			$(this).prepend('<td>'+ (i+1) +'</td>'); 
		});
	});
	

最初の行にthがある例

テーブルの最初にはタイトル(th)を入れることが多いですよね。
次は最初の行にthがあった場合の処理です。

html

 
		<table id="sample">
			<tr>
				<th>種類</th>
				<th>名称</th>
			<tr>
			</tr>
				<td>果物</td>
				<td>オレンジ</td>
			</tr>
			.
			.
			.
		</table>
	

繰り返し回数が0回(最初の行)だったら「id」という文字列でthを追加、それ以外だったら連番を追加します。

javascript

 
	$(function() {
		$('#sample tr').each(function(i) {
			if(i != 0) {
				$(this).prepend('<td>'+ i +'</td>'); 
			} else {
				$(this).prepend('<th>id</th>'); 
			}
		});
	});
	

最初のthで1つカウントされてますのでi+1する必要はないですね。

idの桁数をそろえる

1とか10とか100とか桁数がばらばらだとかっこ悪いですよね。
ちょっと脱線しますが、桁数の低い物は先頭に0を付ける処理をして揃えてみます。

javascript

 
	function convertNum(num, figures) {
		var str = String(num);
		while (str.length < figures) {
			str = "0"+str;
		}
		return str;
	}
	$(function() {
		$('#sample tr').each(function(i) {
			if(i != 0) {
				$(this).prepend('<td>'+ convertNum(i, 3)  +'</td>'); 
			} else {
				$(this).prepend('<th>id</th>'); 
			}
		});
	});
	

「convertNum() 」の第一引数に元の数字、第二引数には桁数を入れます。

参考サイト: 【JavaScript】数値の桁を”0″で埋めて揃える