标题说明了一切。我有一个表是顶部tr的日期列表。单击特定的td,我希望能够使用Jquery从同一列的顶行获取td值。
例如:
<table>
<tr>
<td>Jan 1</td>
<td>Jan 2</td>
<td>Jan 3</td>
</tr>
<tr>
<td>col 1, row 1</td>
<td>col 2, row 1</td>
<td>col 3, row 1</td>
</tr>
<tr>
<td>col 1, row 2</td>
<td>col 2, row 2</td>
<td>col 3, row 2</td>
</tr>
<tr>
<td>col 1, row 3</td>
<td>col 2, row 3</td>
<td>col 3, row 3</td>
</tr>
如果我点击col 1中的任何一个td,我想返回值“Jan 1”
如果我点击col 2中的任何一个td,我想返回值“Jan 2”
如果我点击第3列中的任何一个td,我想返回值“Jan 3”
有意义吗?
目前,我只希望在空td发生这种情况,所以这是我的jQuery的开始。
$("table td:empty").dblclick(function(){
$(TD VALUE FROM TOP OF SAME COLUMN).text();
});
答案 0 :(得分:3)
我建议:
$('td').click(function(){
var index = this.cellIndex;
console.log($('tr').first().find('td').eq(index).text());
});
答案 1 :(得分:0)
这可以通过index
函数的组合和选择tr
时的一些过滤来完成:
$("table tr").not(":first").on("click", "td", function () {
var $tr = $(this).parents("table").find("tr:first"),
idx = $(this).index() + 1,
srch = "td:nth-child(" + idx + ")",
txt = $tr.find(srch).text();
});
工作方面是here。