偶然これに出くわしましたが、Chrome と IE9 で動作します。一意の ID を必要とする可能性のある他の JavaScript ライブラリを使用していない場合、これを使用してはいけない特定の理由はありますか?
<form id=form_id>
<table id=table_id>
<th><th>Column1</th><th>Column2</th><th>Column3</th></tr>
<tr><td><input id="c1" type="text" value="11" /></td>
<td><input id="c2" type="text" value="12" /></td>
<td><input id="c3" type="text" value="13" /></td>
</tr>
<tr><td><input id="c1" type="text" value="21" /></td>
<td><input id="c2" type="text" value="22" /></td>
<td><input id="c3" type="text" value="23" /></td>
</tr>
<tr><td><input id="c1" type="text" value="31" /></td>
<td><input id="c2" type="text" value="32" /></td>
<td><input id="c3" type="text" value="33" /></td>
</tr>
</table>
</form>
column1 row3 項目にアクセスするには:form_id.elements.c1[2].value
またはdocument.getElementByID("form_id").elements.c1[2].value
このメソッドでは、id の複数の出現を配列として扱うことができるようです。