jQuery获取带有id的单击单元格的表头名称

我有一个表,在该表中我有id="edit" 。 现在,我想要的是在我点击任何单元格时获取相应列的标题名称。 根据先前提出的问题,我到目前为止所得到的是:

 $('body').on('click', 'td#edit', function() { var th = $('this').closest('th').eq($('th').val()); alert(th); // returns [object Object] ......................... } 

你能帮我解决这个问题吗?

HTML:

 

函数nearest()循环在祖先的DOM树中,而th不是td的父级,所以最接近的是不正确的选项。 首先,如果您对多个元素具有相同的id,请使用类。 其次使用index()来找到td的对应th 。 用于特定地将id分配给父表,以便脚本不在页面上的其他tables / td上运行。

现场演示

HTML

 
Select JobNo Customer JobDate Warranty RepairStatus POP DOA Model SN
12345 gdsgasdfasfasdfa 2011-01-21 TRUE RP FALSE 0 5152342 66665464
heading 1 heading 2
row 1, cell 1 row 1, cell 2
row 2, cell 1 row 2, cell 2

使用Javascript

 $('#tbl1').on('click', '.edit', function () { var th = $('#tbl1 th').eq($(this).index()); alert(th.text()); // returns text of respective header }); 

对于这个标记

 
Header One Header Two Header Three
One Two Three
One Two Three

你可以使用这个jQuery代码:

 $(".mytable").on('click', 'td.edit', function(e) { var index = $(this).index(); var table = $(this).closest('table'); console.log(table.find('.header th').eq(index).text()); // returns the header text }); 

这里小提琴: http : //jsfiddle.net/7qXm8/