获取单击tr时单击的td

时间:2014-07-02 16:55:02

标签: javascript jquery click onclicklistener

假设我为所有TR设置了点击事件,当然每个TR都填充了TD,因此当您点击TR时,您也点击了TD。无论如何都要捕获因点击TR而被点击的TD(或其索引)?

我想也许是这样的,但我没有从中获得任何东西。

$('tbody').on('click', 'tr', function(){
    var thisEq = $(this+' td').index();
    alert("thisEq: "+thisEq);
});

2 个答案:

答案 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() {
 ...
 });