日期:2014-05-16  浏览次数:20383 次

一个jq点击隐藏显示的问题!
html代码


        <!--循环开始    N个这样的循环-->
        <tr class="id">
            <td style="text-align:center">{$vo.id}</td>
        </tr>
        <tr class="test" style="display:none;">
            <td style="text-align:center">111111</td>
        </tr>
        <tr class="test" style="display:none;">
            <td style="text-align:center">222222</td>
        </tr>
        <tr class="test" style="display:none;">
            <td style="text-align:center">333333</td>
        </tr>
        <!--循环结束-->
        <!--循环开始    N个这样的循环-->
        <tr class="id">
            <td style="text-align:center">{$vo.id}</td>
        </tr>
        <tr class="test" style="display:none;">
            <td style="text-align:center">111111</td>
        </tr>
        <tr class="test" style="display:none;">
            <td style="text-align:center">222222</td>
        </tr>
        <tr class="test" style="display:none;">
            <td style="text-align:center">333333</td>
        </tr>
        <!--循环结束-->
        .....................


默认情况下.test是隐藏的,现在要求点击任何的 .id 显示它后面所有.test 遇到下一个 .id 结束。 在点击其它的.id 也是如此, 同时隐藏上次显示的.test

我当前用的代码如下,能点击显示隐藏,但是点击一个全部展开了


        $(".id").each(function(){
                $(this).click(function(){            
                    $(this).nextAll('.test').toggle();
                });    
        })

------解决方案--------------------
 
        <table><tr