如何判断您当前是否在HTML表的最后一行?

gho*_*_mv 17 html javascript jquery html-table

我有一个keydown事件,我用来向表中添加一个空行.但是,如果在光标位于表的最后一行时发生keydown事件,我只希望添加新行.

这是我目前的jQuery事件..glCreditValue是一个输入文本框的类,它位于表行的最后一个TD中.因此,当用户选中该输入时,如果输入所在的TD位于表的最后一行,我想添加一个新行.

由于表数据是动态生成的,因此每行的最终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();
        }
    });
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用tr:last选择器,但我不确定从哪里开始.

Nic*_*ver 32

有几种方法可以做到这一点,例如,您可以检查.closest()父级<tr>并查看它是否为.is()a :last-child,如下所示:

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


use*_*716 5

做到这一点,而无需运行选择的开销的一种方法是简单地拿到.closest()一排,然后去.next()元素,并测试.length性能.

0如果你是最后一个将是<tr>.

if( !$(this).closest('tr').next().length ) {
   // was the last row
}
Run Code Online (Sandbox Code Playgroud)