帮助jQuery选择器

时间:2011-09-17 14:39:20

标签: jquery jquery-selectors

我有一个表格,结构如下,有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; }

谢谢!

1 个答案:

答案 0 :(得分:2)

使用closest("tr")向上导航到包含值已更改的输入的表行,然后next以获取下一行并最终显示:

$("input.data").change(function() {
    $(this).closest('tr').next().show();
});

您可能需要查看所有tree traversal methods,它们非常有用。