Как узнать, находится ли вы в последней строке таблицы 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
}