qwe88,
нет у вас элементов == length потому что индексы с нуля.
очередной вариант подсветки столбца таблицы
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<table id="tabstoid" class="tabstodir">
<tr class="zelstdi">
<td> </td>
<td>от 1000</td>
<td>от 3000</td>
<td>от 5000</td>
<td>от 10000</td>
</tr>
<tr>
<td>E<span class="zelcifdi">65</span></td>
<td>1,60</td>
<td>1,40</td>
<td>1,20</td>
<td>1,00</td>
</tr>
<tr>
<td>C<span class="zelcifdi">6</span></td>
<td>1,45</td>
<td>1,25</td>
<td>1,05</td>
<td>0,85</td>
</tr>
<tr>
<td>C<span class="zelcifdi">65</span></td>
<td>1,70</td>
<td>1,50</td>
<td>1,30</td>
<td>1,10</td>
</tr>
<tr>
<td>C<span class="zelcifdi">5</span></td>
<td>1,75</td>
<td>1,55</td>
<td>1,35</td>
<td>1,15</td>
</tr>
<tr>
<td>C<span class="zelcifdi">4</span></td>
<td>2,60</td>
<td>2,40</td>
<td>2,20</td>
<td>2,00</td>
</tr>
</table>
<script>
var tabastdire = document.getElementById("tabstoid").getElementsByTagName("td");
arr = [];
[].forEach.call(tabastdire, function(cell, i) {
var k = cell.cellIndex;
arr[k] ? arr[k].push(cell) : (arr[k] = [cell]);
cell.onmouseover = function() {
arr[k].forEach(function(el) {
el.style.backgroundColor = "#CBFFDD"
})
this.style.backgroundColor = "#00CC47"
}
cell.onmouseout = function() {
arr[k].forEach(function(el) {
el.style.backgroundColor = ""
})
}
})</script>
</body>
</html>