Jquery/javascript onclick显示下一行

Jquery/javascript onclick显示下一行,jquery,onclick,row,hidden,show,Jquery,Onclick,Row,Hidden,Show,我有一个表,其中有一行使用display:none隐藏。我想在单击按钮时显示该行。我该怎么做 <table> <tr> <td> <button class="shownextrow">Show Next Row</button> </td> </tr> <tr style="display:none"> <input type="text" name="input"/> </t

我有一个表,其中有一行使用display:none隐藏。我想在单击按钮时显示该行。我该怎么做

<table>

<tr>
<td>
<button class="shownextrow">Show Next Row</button>
</td>
</tr>

<tr style="display:none">
<input type="text" name="input"/>
</tr>

</table>

您可以绑定到按钮并相对地找到它,如下所示:

$("button.shownextrow").click(function() { 
  $(this).closest("tr").next().show();
});
$('#theTable').delegate("button.shownextrow", "click", function() {
    $(this).closest("tr").next("tr").show();
});
这从按钮$This到using,然后让兄弟姐妹到。您可能想使用而不是,但其余的都一样

。请注意,在本例中,a直接包含在a中,为了使其成为有效的演示,我将其包装在a中。

可以,但我可能会通过函数为整个表事件委派使用单个处理程序,而不是每个按钮上的单个处理程序,如下所示:

$("button.shownextrow").click(function() { 
  $(this).closest("tr").next().show();
});
$('#theTable').delegate("button.shownextrow", "click", function() {
    $(this).closest("tr").next("tr").show();
});
除此之外,它允许您向表中添加更多的行对并删除行对,而无需担心为它们连接/取消连接事件处理程序。请记住,它确实要求button元素和table元素之间的层次结构中没有任何直接的内容会破坏单击

这是我以前的示例,它没有使用委托,只是出于历史目的-wow委托简化了代码:


您只需调用父tr即可显示下一个tr:


我使用了它,效果很好。

如果你想使用委派,请使用.delegate,例如:@Nick:我正在修改你发布的内容:-如何在我刚刚显示的tr中显示隐藏的对象???@user342391-我不会在里面隐藏任何东西…但是你可以在上面示例中的.show之后加上.find'whatever'。show来查找/显示里面的东西。