我有一个表格,结构如下,有10行:
<table>
<tr id='row1'>
<td>
<input id='input1' type='text' class='data'>
</td>
</tr>
<tr id='row2' class='hide'>
<td>
<input id='input2' type='text' class='data'>
</td>
</tr>
<tr id='row3' class='hide'>
<td>
<input id='input3' type='text' class='data'>
</td>
</tr>
.
.
.
(down to 10 rows)
</table>
我需要做的是'input(X)'中的值变为“show”'row(X + 1)'。我一直试图弄清楚如何“提升”回到输入字段的父“tr”,然后以某种方式获得下一行的“tr”,但我没有取得多大成功。
我的'隐藏'课程如下:
.hide, { display:none; }
谢谢!
答案 0 :(得分:2)
使用closest("tr")
向上导航到包含值已更改的输入的表行,然后next
以获取下一行并最终显示:
$("input.data").change(function() {
$(this).closest('tr').next().show();
});
您可能需要查看所有tree traversal methods,它们非常有用。