Таблица .cells вернет все внутренние ячейки в таблице. Он отлично работает в IE, но в Chrome .cells вернет undefined, потому что такого свойства не существует. Нам нужно перебирать каждую строку, чтобы найти ячейки. Есть ли другой способ получить все ячейки в Chrome?
function myFunction() {
var x = document.getElementById("myTable").cells.length;
document.getElementById("demo").innerHTML = "Found " + x + " cells in
the first tr element.";
}
<table id = "myTable">
<tr>
<td>cell 1</td>
<td>cell 2</td>
</tr>
<tr>
<td>cell 3</td>
<td>cell 4</td>
</tr>
</table>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Там ничего нет под названием document.getElementById("myTable").cells.length.cells фактически ничего не возвращает, поэтому ваша переменная x возвращает undefined, и вы не получаете номера ячеек.
Вместо этого вы можете сделать следующее:
function myFunction() {
var x = document.getElementById("myTable");
// if you need all the cells which is td elements
var cells = x.getElementsByTagName('td');
// if you need only cells in a single row which is a tr element
var cellsPerRow = x.getElementsByTagName('tr')[0].getElementsByTagName('td');
document.getElementById("demo").innerHTML = "Found " + cellsPerRow.length + " cells in the first tr element." + "And " + cells.length + " cells in total" ;
}
myFunction();<table id = "myTable">
<tr>
<td>cell 1</td>
<td>cell 2</td>
</tr>
<tr>
<td>cell 3</td>
<td>cell 4</td>
</tr>
</table>
<div id='demo'></div>