将父级添加到jquery选择器

时间:2011-02-15 12:40:54

标签: jquery jquery-selectors

<tr step="step2" optional="true"><td>Gender</td></tr>
<tr step="step2" optional="true">
     <td>
         <asp:RadioButtonList ID="rblGender" runat="server" RepeatDirection="Horizontal">
             <asp:ListItem Text="Female" Value="0"></asp:ListItem>
             <asp:ListItem Text="Male" Value="1"></asp:ListItem>
         </asp:RadioButtonList>
     </td>
</tr>

这两个tr都是最初隐藏的,当满足条件时,我想显示单选按钮列表和标题,我必须同时显示tr的

我引用了rblGender。如何选择所有其他元素?

$("#rblGender").parent().parent().prev()仅选择第一个tr。我是否必须逐个添加每个元素?或者有没有办法立即添加整个链?

2 个答案:

答案 0 :(得分:6)

我真的不明白你对标题的意思,但我想你要显示两行。您可以使用.andSelf

  

将堆栈上的前一组元素添加到当前集合中。

$("#rblGender").closest('tr').prev().andSelf()

您还应该使用closest()而不是parent()链。它使结构变化更加强大(更可读的imho)。

答案 1 :(得分:1)

如何将tr元素包装在tbody元素中,然后您只需导航到(并隐藏/显示)单个元素?

这会更灵活,因为它允许同时隐藏/显示尽可能多的行。

然后,您当然需要将一些tbody元素添加到表的其他行,但这不会使标记以任何方式不正确。