如何检测事件目标最后一个孩子的javascript

时间:2014-04-16 12:56:03

标签: javascript

我有一个函数可以返回所有单元格的点击行的值。但是,当单击任何最后一个单元格时,不希望它运行。 现场演示:http://jsfiddle.net/XcsN/282Wy/

var table = document.getElementsByTagName("table")[0];
var tbody = table.getElementsByTagName("tbody")[0];
tbody.onclick = function (e) {
   var data = [];
   var target = e.srcElement || e.target;
   if (target && target.nodeName !== "TR") 
      target = target.parentNode;
   else return;
   var cells = target.getElementsByTagName("td");
   for (var i = 0; i < cells.length - 1; i++) 
        data.push(cells[i].innerHTML);
    alert(target + " " + data);
};

target.id或taget.index()没有值。

3 个答案:

答案 0 :(得分:1)

例如,你可以使用:

DEMO

if($(target).is(':last-child')) return;

答案 1 :(得分:1)

使用jQuery .not

var onclickEvent = function(){ ... };
$("tbody").not("tbody :last-child").click(onclickEvent);

答案 2 :(得分:1)

jQuery(document).ready(function($) {
    $('#lol tbody tr')
        .not(':last')
        .on('click', function(e) {
            var self = $(this);
            console.log(self.find('td').text());
        });
});

像这样:http://jsfiddle.net/yf5y5/