Наверное тебе нужно было:
<html>
<head>
<title></title>
</head>
<body>
<script language="javascript">
var str = '<table border="1" bgcolor="lime" width="360" align="center">';
str += '<tr>';
str += '<td width="65" height="155"> <div id="1"></div></td>';
str += '<td width="60" height="155"> <div id="2"></div></td>';
str += '<td width="60" height="155"> <div id="3"></div></td>';
str += '</tr>';
str += '<tr>';
str += '<td width="60" height="155"> <div id="4"></div></td>';
str += '<td width="60" height="155"> <div id="5"></div></td>';
str += '<td width="60" height="155"> <div id="6"></div></td>';
str += '</tr>';
str += '</table>';
document.write(str);
var nam=[1,2,3,4,5,6];
(function(){
var r=Math.floor(Math.random()*6);
document.getElementById(nam[r]).innerHTML='<center><img src="test.gif"></center>';
setTimeout(arguments.callee,1000)
})();
</script>
</body>
</html>
Только непонятно, зачем нужен массив nam, если в нём опять таки цифры от 1 до 6? Ты там будешь ведь нормальные айдишки хранить, которые НЕ С ЦИФРЫ начинаются? И задашь дивам тоже НОРМАЛЬНЫЕ айдишки?