Проблема с ячейками таблицы в Chrome - PullRequest
0 голосов
/ 24 октября 2018

Table .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>

1 Ответ

0 голосов
/ 24 октября 2018

Ничто не называется document.getElementById("myTable").cells.length .cells фактически ничего не возвращает, поэтому ваша переменная x возвращает неопределенное значение, и вы не получаете номера ячеек.

Вместо этого вы можете сделать следующее:

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...