У меня тоже немного схожий вопрос...
А как сделать так, чтоб закрашивались только те ячейки таблицы, которые заполнены, а пустые ячейки таблицы не закрашивались?
<table border="1" id="row">
<tr>
<td width="20" height="20"></td>
<td width="20" height="20"></td>
<td width="20" height="20">2</td>
<td width="20" height="20"></td>
</tr>
</table>
<script>
arr= document.getElementById("row").getElementsByTagName("td");
colors= "red";
window.onload = function () {
for (var i=0; i!= arr.length; ++i) {
if (typeof arr[i] !== "") {
arr[i].style.background=colors;
}
}
}
</script>