Добавьте третью итоговую строку с помощью fnFooterCallback в таблицах данных jQuery

#datatables

Вопрос:

Используя следующий синтаксис, я надеялся добавить третью и четвертую строки в нижний колонтитул таблицы данных.

 var secondRow = $(nRow).next()[0]; 
var nCells = secondRow.getElementsByTagName('td');

*var thirdRow = $(nRow).next()[1]; 
var nCells = thirdRow.getElementsByTagName('td');
var fourthRow = $(nRow).next()[2]; 
var nCells = forthRow.getElementsByTagName('td');*
 

В то время как вторая строка работает, третья вызывает ошибку. «Третье» не определено.

Есть ли способ добавить несколько строк в обратный вызов нижнего колонтитула?

Ответ №1:

$(row).next() возвращает один объект jQuery, а не их массив, и, как и в случае со всеми объектами jQuery, вы можете получить доступ к базовому объекту JavaScript, получив его первый элемент, а затем выполнить функцию JavaScript (не jQuery) для получения ячеек.

Я полагаю, вы могли бы использовать выбранный вами элемент для поиска следующего

 const secondRow = $(nRow).next()[0]; 
const nCells = secondRow.getElementsByTagName('td');

const thirdRow = $(secondRow).next()[0];
const nCells = thirdRow.getElementsByTagName('td');
 

но ваш вопрос немного сбивает с толку, потому что вы говорите о добавлении новых элементов на свою страницу, но ваш код предназначен для выбора существующих элементов со страницы.

https://api.jquery.com/next/

Комментарии:

1. Спасибо. Я тоже был немного сбит с толку. Я пытался развить другой пост, в котором была добавлена только одна строка добавления. Большое вам спасибо за вашу помощь!