如何选择一行中的所有表列,但第一行使用jQuery?

时间:2013-11-01 13:52:44

标签: jquery html-table

我想让我的表格行可点击。所有列都需要可点击,但第一列。但是,当我们点击该行时,我想实现这一点。

这是我到目前为止的代码:

    $('.table tbody tr').click( function (e) {
        alert ($(this).find('td').eq(1).text());
    } );

无论我在行中单击哪个位置,此代码始终执行。但是我想所有的表格单元格都应该是可点击的,除了第一个。

可能吗?

3 个答案:

答案 0 :(得分:5)

你可以这样做:

$('.table tbody tr').on('click', function(e) {
    if ($(e.target).closest('td:first-child').length) {
        return;
    }

    // your code
});

这表示“如果点击的元素是td:first-child或者祖先是td:first-child,则不执行任何操作;否则继续。”

jsFiddle

答案 1 :(得分:1)

使用CSS Not选择器并跳过第一个tr元素:

$('.table tbody tr:not(:first-child)').click( function (e) {
    alert ($(this).find('td').eq(1).text());
} );

答案 2 :(得分:1)

尝试使用像这样的委托事件

$('.table tbody tr').delegate( 'td', 'click', function() {
   alert ($(this).text());
    // implement your logic...

});