jquery选择器需要选择父级的所有特定子级

时间:2010-10-20 08:08:38

标签: javascript jquery jquery-selectors dom-traversal

我有一个页面上有一些表格。在每个表中,第一行是正常的,但其余行都有一个隐藏类,因此它们不会在加载时显示。在表格第一行的一个单元格中,有一个链接可以单击以查看更多详细信息(淡入该表的隐藏行)。我努力让这个工作起来。所以基本上我需要一个选择器,它将找到与单击的元素在同一个表中的所有隐藏行,以便它们可以淡入。我使用过:

$(.hidden).fadeIn() 

但是因为页面上有多个表,它会在所有表中的所有隐藏行中淡出,我只想要特定表中的那些。我也用过:

$(this).closest('tr').next(".hidden").fadeIn("slow") 

是那里的一半,但它只在该表的第一个隐藏行中消失,但如果有多个则其余的仍然是隐藏的。任何帮助将非常感激。感谢

2 个答案:

答案 0 :(得分:2)

尝试 -

$(this).closest('tr').nextAll(".hidden").fadeIn("slow"); 

nextAll的详细文档 -

http://api.jquery.com/nextAll/

答案 1 :(得分:1)

是这样,对吧?

<table>
<tr>
  <td><span class="show">View more details</span></td>
</tr>
<tr class="hidden">...</tr>
....
</table>

然后

    <script type="text/javascript">
        $(document).ready(function() {
          $(".show").click(function() {
              $(this).closest('table').find('tr.hidden').fadeIn("slow");
          });
        });
   </script>