我想让我的表格行可点击。所有列都需要可点击,但第一列。但是,当我们点击该行时,我想实现这一点。
这是我到目前为止的代码:
$('.table tbody tr').click( function (e) {
alert ($(this).find('td').eq(1).text());
} );
无论我在行中单击哪个位置,此代码始终执行。但是我想所有的表格单元格都应该是可点击的,除了第一个。
可能吗?
答案 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
,则不执行任何操作;否则继续。”
答案 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...
});