Javascript «Элемент должен быть таблицей» - PullRequest
0 голосов
/ 11 декабря 2018

Я использую этот сортировщик таблиц: https://github.com/tristen/tablesort

Однако при просмотре этой страницы я не могу отсортировать столбцы.Инструменты разработчика Chrome показывают Uncaught Error: Element must be a table at new Tablesort (tablesort.js:6) at mytable.html:12

Я предполагаю, что эта таблица:

<table id='mytable'> 

и этот код

document.getElementById ('mytable')

ссылаются на тот же «mytable».Я основал это предположение на «идентификатор таблицы», как показано здесь: http://tristen.ca/tablesort/demo

<!DOCTYPE html>
<html>

<head>
 <script src='./src/tablesort.js'></script>
 <script src='./src/sorts/tablesort.number.js'></script>
 <script src='./src/sorts/tablesort.date.js'></script>
 <link href='./demo/style.css' rel='stylesheet'>
 <link href='tablesort.css' rel='stylesheet'>
</head>
<body>
 <script> new Tablesort(document.getElementById('mytable')); </script>
 <table id='mytable' class="sort" border = "1">
 <thead>
 <tr>

  <th>Name</th>
  <th data-sort-method='number'>Age</th>
  <!-- <th>Age</th> -->
 </tr>
 <tr>
  <td>Ramesh Raman</td>
  <td>22</td>
 </tr>
 <tr>
  <td>Shabbir Hussein</td>
  <td>32</td>
 </tr>
 </thead>
 </table>

</body>
</html>

1 Ответ

0 голосов
/ 11 декабря 2018

Это не работает, потому что тег script загружается перед телом.Поместите код в window.onload:

window.onload = function() {
    new Tablesort(document.getElementById('mytable'));
}

В качестве альтернативы вы можете поместить теги сценария внизу тела, потому что он будет загружен последним и, следовательно, сможет найти таблицу.

...