Как узнать, находится ли вы в последней строке таблицы HTML?

У меня есть событие keydown, которое я использую, чтобы добавить пустую строку в таблицу. Но я хочу, чтобы новая строка была добавлена, если событие keydown происходит, когда курсор находится в последней строке таблицы.

Это мое текущее событие jQuery. .glCreditValue - это класс входного текстового поля, который находится в последнем TD строки таблицы. Поэтому, когда пользователь выходит из этого ввода, ЕСЛИ TD, что вход находится внутри, находится в последней строке таблицы, я хочу добавить новую строку.

Поскольку данные таблицы генерируются динамически, каждая строка final TD имеет текстовое поле ввода с классом .glCreditValue.

$(".glCreditValue").keydown(function(event) {
        var keycode = event.keyCode;
        if (keycode == 9) {
            //HERE i would like to make sure that i'm in the last row of the table
            AddNewRow();
        }
    });

Я пытаюсь использовать tr: last selector, но я не совсем уверен, куда идти отсюда.

Ответы

Ответ 1

Есть несколько способов сделать это, например, вы можете проверить .closest() parent <tr> и посмотреть, не является ли это .is() a :last-child, например:

$(".glCreditValue").keydown(function(event) {
  if (event.which == 9 && $(this).closest("tr").is(":last-child")) {
      AddNewRow();
  }
});

Ответ 2

Один из способов сделать это, не имея накладных расходов на запуск селектора, - это просто строка .closest(), затем перейдите к элемент .next() и проверите свойство .length.

Это будет 0, если вы были на последнем <tr>.

if( !$(this).closest('tr').next().length ) {
   // was the last row
}