javascript - 如何检查 TD 是否是行中类(class)的最后一个

标签 javascript jquery jquery-selectors

我是 jQuery 新手,希望有人能帮助我。

我有一个大型 HTML 表格,其中包含动态添加的行。

该表具有标准结构(包括 thead、tbody 和 tfoot)。

在此表中,有可编辑的 TD(具有“editable”类并包含 contenteditable div)和不可编辑的 TD(没有“editable”类且不包含内容)。包含一个div)。

如果用户位于这样的 div 中,我想检查当前(最近的)TD 是否是具有特定类别的同一行中的最后一个 TD (“可编辑”)。

我尝试了以下方法,但这在这里不起作用。有人可以告诉我我做错了什么吗?

我的 jQuery(已准备好文档):

$(document).keydown(function(e){
    var current = $(e.target);
    // ...
    if($(current).closest('td').is('td.editable:last')){
        alert('last editable td in current row'); // test alert
    }
    // ...
});

我的 HTML(示例行):

<tr>
    <!-- ... -->
    <td class="editable"><div contenteditable="true"></div></td> <!-- editable -->
    <td class="editable"><div contenteditable="true"></div></td> <!-- editable -->
    <td></td> <!-- non-editable -->
    <td></td> <!-- non-editable -->
    <td class="editable"><div contenteditable="true"></div></td> <!-- editable -->
    <!-- ... -->
</tr>

最佳答案

尝试一下 :last-of-type 选择器?切勿使用 :last:first,因为它们在每个浏览器中的实现方式都不同!

if ($(current).closest('td').is('td.editable:last-of-type')) {

关于javascript - 如何检查 TD 是否是行中类(class)的最后一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30776526/

相关文章:

javascript - toLocaleString() 不适用于输入更改

javascript - 在两个列表之间移动项目但过滤已存在的项目

javascript - 帮助转换内联 onclick

jQuery 选择/下拉选择器

javascript - JQuery 选择器和 "is"的问题

javascript - 为什么我的是:nth-child(2) selector not working in my jQuery?

javascript - Karma单元测试跨域资源AngularJS

javascript - 在 React JS 中使用键显示列表中项目的正确方法是什么?

javascript - 在用户控件回发事件中注册启动脚本

jquery - 什么是像样的 jQuery 打印区域插件?