4

想要一个 Jquery 代码来检查单击的列是否在行中的第一个。

正在使用一个表格来选择某些选项。在单击时,通过使用 jquery 分配一个 CSS 类并从所有同级 td 元素中删除该类(每行一个选择)来显示单击的 td 的背景(一个刻度线)。

问题是它不应该在单击第一列时执行此操作,因为它包含选项/问题的标签。

当前代码如下:

  $(document).ready(function () {
    $("table tr td").click(function () {
        $(this).parent().find('td').each(function () {
            $(this).removeClass("CheckMark");
        });
        $(this).addClass("CheckMark");
    });
});

如果列是第一列,则不应执行任何操作,因为它包含选项的标签。

希望已经充分解释了情况:)。

亲切的问候,阿里

4

1 回答 1

9

使用index()找出点击的第一列td。如果 index() 给出零,那么它将是第一列,因为index()给出了从零开始的索引。

$(document).ready(function () {
    $("table tr td").click(function () {

        if($(this).index() == 0) return;    

        $(this).parent().find('td').each(function () {
            $(this).removeClass("CheckMark");
        });
        $(this).addClass("CheckMark");
    });
});
于 2013-02-18T10:46:34.353 回答