1

我的表中有四列。当我们单击前三个 td 中的一个时,将执行一项操作,当我们单击最后一个 td 时,将执行其他类型的操作。我确实喜欢这个

$('#items_list tr td').not('#items_list tr td:last-child').click(function() {
  // Do  something
}

$("#items_list tr td:last-child").click(function() {
  // Do something
}

但是当 Dom 发生变化时,那些不起作用。我尝试使用 .live(),但 li 的缺点是不支持链式方法。任何人都可以指导我吗?

4

2 回答 2

3

无需向表格上的每个单元格添加事件。表 tbody 级别的一个事件处理程序可以处理它。

jQuery("#foo tbody").on("click", function (evt) {
   var elem = jQuery( evt.srcElement || evt.target );
    if (elem.is("td:last-child")) {
        alert("last child");
    } else {
        alert("not last child");
    }       
});

如果 td 中有元素,您可能必须向 elem 添加代码以查找最近的 td。

if (!elem.is("td")) {
    elem = elem.closest("td");
}

jsFiddle

于 2012-04-19T18:10:20.037 回答
0
$("#items_list tr td").last().click(function(){ });
于 2012-04-19T18:03:43.457 回答