假设我为所有TR设置了点击事件,当然每个TR都填充了TD,因此当您点击TR时,您也点击了TD。无论如何都要捕获因点击TR而被点击的TD(或其索引)?
我想也许是这样的,但我没有从中获得任何东西。
$('tbody').on('click', 'tr', function(){
var thisEq = $(this+' td').index();
alert("thisEq: "+thisEq);
});
答案 0 :(得分:3)
<强> Demo 强>
您可以使用td
event.target
$('tbody').on('click', 'tr', function(e){
var thisEq = $(e.target).index();
alert("thisEq: "+thisEq);
});
注意:.index()
提供了0 to n
个值,因此您可以获得0
td
答案 1 :(得分:-1)
反转问题回合 - 检测单击了哪个td并检测父tr。
$('td').on('click', function(){
var tr = $(this).parent('tr');
alert(tr);
});
您也可以通过使用委托事件处理程序来完成此操作。这个挂钩到每个tr元素,但你可以将它挂在身体上,就像另一个提交者刚刚提出的那样
$('tr').on( 'click', 'td', function() {
...
});