4

テーブルの行をクリックできるようにしたいと思います。最初の列を除いて、すべての列をクリック可能にする必要があります。ただし、行をクリックしているときにこれを達成したいと思います。

これは私がこれまでに持っているコードです:

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

このコードは、行のどこをクリックしても常に実行されます。ただし、最初のセルを除いて、すべての表のセルをクリックできるようにしたいと思います。

可能ですか?

4

3 に答える 3

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場合、何もせず、それ以外の場合は続行する」ことを意味します。

jsフィドル

于 2013-11-01T13:58:39.067 に答える
1

このようなデリゲートイベントを使用してみてください、

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

});

于 2013-11-01T14:28:12.437 に答える
1

CSS の Not セレクターを使用して、最初の tr 要素をスキップします。

$('.table tbody tr:not(:first-child)').click( function (e) {
    alert ($(this).find('td').eq(1).text());
} );
于 2013-11-01T14:22:24.897 に答える