show hide jQuery显示所有隐藏的tr

时间:2012-09-17 20:57:29

标签: jquery show

嘿伙计我正在使用这个论坛,我想要隐藏类别列表,当你点击它时它会显示tr文件。这将是更多的主题讨论。

的jQuery -

<script type="text/javascript"> 
$(document).ready(function() { 
$(".slidingDiv").hide(); 
$('.show_hide').click(function() { 
    $('.slidingDiv').slideToggle();
}); 
});

</script>

然后是我正在使用的html。

<table rules="groups" class="highlight" width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
  <left>    <th colspan="{catrow.tablehead.INC_SPAN}" nowrap="nowrap" width="100%" style="cursor:pointer;" class="secondarytitle show_hide">&nbsp;{catrow.tablehead.L_FORUM}&nbsp;</th></left>
</tr>
<!-- END tablehead -->
<!-- BEGIN cathead -->
<tr class="highlight">
    <!-- BEGIN inc -->
    <td class="{catrow.cathead.inc.INC_CLASS}" width="46"><img src="{SPACER}" height="0" width="46" /></td>
    <!-- END inc -->
    <td class="{catrow.cathead.CLASS_CAT}" colspan="{catrow.cathead.INC_SPAN}" width="100%">
        <h{catrow.cathead.LEVEL} class="hierarchy">
            <span class="cattitle">
                <a class="cattitle" title="{catrow.cathead.CAT_DESC}" href="{catrow.cathead.U_VIEWCAT}">{catrow.cathead.CAT_TITLE}</a>
            </span>
        </h{catrow.cathead.LEVEL}>
    </td>
    <td class="{catrow.cathead.CLASS_ROWPIC}" colspan="3" align="right">&nbsp;</td>
</tr>
<!-- END cathead -->
<!-- BEGIN forumrow -->
<tr class="slidingDiv">
    <!-- BEGIN inc -->
    <td class="{catrow.forumrow.inc.INC_CLASS}" width="46"><img src="{SPACER}" height="0" width="46" alt="." /></td>
    <!-- END inc -->
    <td class="{catrow.forumrow.INC_CLASS}" align="center" valign="middle">
        <img title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" src="{catrow.forumrow.FORUM_FOLDER_IMG}" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" />
    </td>
    <td class="row1 over" colspan="{catrow.forumrow.INC_SPAN}" valign="top" width="100%" height="50">
        <table width="100%"><tbody><tr><td><h{catrow.forumrow.LEVEL} class="hierarchy">
        <span class="forumlink">

除非我点击它显示所有tr文件,否则它有效。我希望它在点击时显示一个。现在我可以标记它们了

$('#category tr').click(function(){ 

除了它使用php文件或其他东西,并在有人创建新类别时自动生成,因此这是不可能的。我正在与一个网站合作创建论坛。所以我知道我可以使用jQuery无法访问php文件。有人可以帮助我使用jQuery

2 个答案:

答案 0 :(得分:1)

这样的事情应该做:

$(".slidingDiv").hide(); 

$('.show_hide').click(function() { 
    $(this).closest('tr').siblings('.slidingDiv').slideToggle();
}); 

使用this可以找到与被点击的.slideingDiv相关的相应.show_hide

答案 1 :(得分:0)

“filter()”方法也可以用于复杂测试的所有tr

您可以将过滤器函数作为参数传递...

此函数必须返回一个布尔值,该布尔值将确定是否必须过滤当前节点

$('.show_hide').click(function() { 
    $('.slidingDiv').filter(function(i,e){
        // Ex: return whether the current tr has a particular descendant 
        return (!!$(this).find('span.foo').length);
    }).slideToggle();
});