jQuery获取带有id的单击单元格的表头名称
我有一个表,在该表中我有id="edit"
。 现在,我想要的是在我点击任何单元格时获取相应列的标题名称。 根据先前提出的问题,我到目前为止所得到的是:
$('body').on('click', 'td#edit', function() { var th = $('this').closest('th').eq($('th').val()); alert(th); // returns [object Object] ......................... }
你能帮我解决这个问题吗?
HTML:
Select JobNo Customer JobDate Warranty RepairStatus POP DOA Model SN 12345 gdsgasdfasfasdfa 2011-01-21 TRUE RP FALSE 0 5152342 66665464
函数nearest()循环在祖先的DOM
树中,而th不是td的父级,所以最接近的是不正确的选项。 首先,如果您对多个元素具有相同的id,请使用类。 其次使用index()来找到td
的对应th
。 用于特定地将id
分配给父表,以便脚本不在页面上的其他tables / td
上运行。
现场演示
HTML
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/