table没一行下面都有可能有一行子行,单击这行的时候显示或隐藏子列表行,用jquery做显示隐藏,因为有很多行,用到循环,不知道jquery里面怎么实现,小弟代码不如,不能实现:$(document).ready(function(){  
for(var i =1;i<10;i++){
   $("#tr"+i).click(function(){
   $("#tr"+i+"-"+i+".hiden").slideToggle("fast");
  });
}       
});如下写就可以:
$(document).ready(function(){    $("#tr1").click(function(){
   $("#tr1-1.hiden").slideToggle("fast");
  });
   $("#tr2").click(function(){
   $("#tr2-2.hiden").slideToggle("fast");
 });
      
});但是i未知的,不可能一个一个写,做做循环啊

解决方案 »

  1.   

    这样试试
    $(document).ready(function () {
    for (var i = 1; i < 10; i++) {
    $("#tr" + i).click((function (n) {
    return function () {
    $("#tr" + n + "-" + n + ".hiden").slideToggle("fast");
    };
    })(i))
    }
    });
      

  2.   


     $("#tr*").click(function(){
         $("#tr*.hiden").slideToggle("fast");
    });
      

  3.   

    n就是i作为参数传递的值“})(i))”,之所以多绕一下...这个讲起来要复杂一些,这是javascript的闭包(closure),自己搜资料学习一下吧,自己学才比较全面。
      

  4.   

    这个你可以在每行加一个class 用jquery绑定这个class 触发的的点击事件点击时再去判断下面是否有子行,有的话就可以控制显示或隐藏了
      

  5.   

    html:<table>
     <tr><td style="width:100px;border:solid 1px red;">1</td></tr>
     <tr><td style="width:100px;border:solid 1px red;">2</td></tr>
     <tr><td style="width:100px;border:solid 1px red;">3</td></tr>
     <tr><td style="width:100px;border:solid 1px red;">4</td></tr>
     <tr><td style="width:100px;border:solid 1px red;">5</td></tr>
     <tr><td style="width:100px;border:solid 1px red;">6</td></tr>
     <tr><td style="width:100px;border:solid 1px red;">7</td></tr>
     <tr><td style="width:100px;border:solid 1px red;">8</td></tr>
    </table>$(function(){
      $("table").find("tr:even")//查找所有为偶数行的tr奇数行为子行,查找方法为:odd
        .each(function(i){
          var me= $(this);  //保存自己
          me.bind("click",function(){  //绑定点击事件
          me.next().hide();    //查找自己后面的同辈元素并且隐藏
        });
      });
    });
      

  6.   

    当然如果你想再次点击吧隐藏的重现的话吧hide换成toggle就可以了