Как заменить document.QuerySelector на $ без получения table.deleteRow не является функцией - PullRequest
0 голосов
/ 31 января 2020

Когда я использую

const table = document.querySelector('table#home');

, следующий код работает нормально

const streetRowCount = $('table#home input[id^=street-]').length;
const offsetForZeroIndex = 1;
streetRowCount > 2 &&
  (table.deleteRow(skipFields + streetRowCount - offsetForZeroIndex))
}

Однако, когда я заменяю document.querySelector на jquerys $, то есть

const table = $('table#home');

Я получаю ошибку

table.delete_row is not a function`

Ответы [ 2 ]

4 голосов
/ 31 января 2020

table теперь является объектом jQuery, и у них нет метода delete_row() (или даже метода deleteRow(), поскольку это правильное имя)

Вместо этого вам нужно find() строка в таблице с указанным индексом и remove() это, например:

const $table = $('table#home');
$table.find('tr').eq(skipFields + streetRowCount - offsetForZeroIndex).remove();
3 голосов
/ 31 января 2020

HTMLTableElement.deleteRow () - это ванильный JavaScript метод, его нельзя использовать для jQuery ссылочного элемента. Вместо этого вы можете использовать .remove().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...