1

我有一个 HTML 表格,并且我的行有一个 onclick 事件。

我想知道是否有可能找出单击了该行的哪个单元格,而无需为每个单元格设置单独的处理程序?

我有一张桌子:

<tr class="new_row">
   <td class="date">date</td>
   <td class="name">name</td>
   <td class="delete">delete</td>
</tr>

和jQuery:

$(".new_row").click(function(){
   if(delete was clicked){
       delete the row
   }
});

这就是我想要做的基本上,检测是否单击了删除单元格。

这可能吗?

4

3 回答 3

5

首先你不应该定义多个具有相同id的元素,这会造成麻烦,你可以替换id='delete'class='delete'

// on click td with class delete:
$("td.delete").click(function(){
   //delete was clicked so remove tr
   $(this).parent().remove();
});
于 2012-06-22T16:44:08.260 回答
3

你可以这样做

现场演示

$(".new_row").click(function(event){       
    if($(event.target).text() == 'delete')
    {       
      $(this).remove();      
    }
});
于 2012-06-22T16:55:33.557 回答
1

查看 id 的event.target。如果匹配delete,则可以处理删除。

但是,由于这是在一个表中,我猜你有多行。如果是这种情况,这是否意味着您有多个具有相同 ID 的单元格?如果是这样,这不是有效的 HTML,当您尝试使用 CSS 选择器时,它可能会导致您的 jQuery 代码出现问题。

于 2012-06-22T16:44:42.160 回答