Вот это вот выводит 9 раз undefined прежде чем начать выводить a3, b3, c3. Выходт в массив arr[] всё записывается?
<script>
function go1() {
var arr = [] // массив значений id
var list = document.getElementsByTagName('*');
for(i=0; i<list.length; i++) {
if(list[i].id) arr[i] =list[i].id;
alert(arr[i])
}
}
</script>
<input type="button" value="Alert" onclick="go1()">
<table width="600" border="1" cellspacing="0" cellpadding="0">
<tr>
<td align="center" id="a3">Data1</td>
<td align="center" id="b3">Data2</td>
<td align="center" id="c3">Data3</td>
</tr>
</table>