在id=rl的地方加入onclick="rlr2.style.visibility='hidden';rlr3.style.visibility='hidden'"

解决方案 »

  1.   

    <table border>
    <tr id="r1" onclick='r2.style.display=r3.style.display="none";'><td>id="r1"</td>
    <tr id="r2"><td>id="r2"</td>
    <tr id="r3"><td>id="r3"</td>
    </table>
      

  2.   

    如果要在点一下r2,r3又出来用
    <table border>
    <tr id="r1" onclick='r2.style.display=r3.style.display=(r3.style.display=="none"?"block":"none");'><td>id="r1"</td>
    <tr id="r2"><td>id="r2"</td>
    <tr id="r3"><td>id="r3"</td>
    </table>
      

  3.   

    sample: works in IE5+
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function showhide()
    {
    if(r1.style.display=="none"){
        r1.style.display="block";
    r2.style.display="block";
    }
    else{
        r1.style.display="none";
    r2.style.display="none";
    }
    }
    //-->
    </SCRIPT>
    <TABLE border=1>
    <TR onclick="showhide()">
    <TD>34</TD>
    <TD>56</TD>
    </TR>
    <TR id="r1">
    <TD>12</TD>
    <TD>454</TD>
    </TR>
    <TR id="r2">
    <TD>34</TD>
    <TD>3446</TD>
    </TR>
    </TABLE>
      

  4.   

    怪我没说清楚,在点击第一行时,并不知道下边有几行,也不知道他们的id是什么,只知道id都是以“r1”开头。目的就是要把以“r1”开头的行都隐藏。
      

  5.   

    假设表格id为tblTest。在第一行的onclick事件中加入下面代码:
    with (tblTest)
    {
        for (var i=1;i<rows.length;i++)
            if (rows(i).id.substr(0,2)=="rl")
            {
                if (rosw(i).style.display=="none")
                    rosw(i).style.display="block";
                else
                    rosw(i).style.display="none";
            }
    }
      

  6.   

    function showhide()
    {
        var i=1;
        while(true){
             myrow = null;
             myrow = eval("r1r"+i);
             if(typeof(myrow)==undefined || myrow == null) break;
    if(myrow.style.display=="none"){
                myrow.style.display="block";
    }
    else{
                myrow.style.display="none";
    }
    }
      

  7.   

    <script>
    function hid(){
    var tb = document.all.tb ;
    for (var i=0;i<tb.rows.length;i++){
    if (tb.rows[i].id.indexOf("r1")==0)
    tb.rows[i].style.display="none" ;
    }
    }
    </script>
    <table border id=tb>
    <tr id="r" onclick=hid()><td>id="r"</td>
    <tr id="r1r2"><td>id="r1r2"</td>
    <tr id="rr1"><td>id="rr1"</td>
    <tr id="r1"><td>id="r1"</td>
    <tr id="r1r"><td>id="r1r"</td>
    <tr id="r3"><td>id="r3"</td>
    </table>
      

  8.   

    表格中不只有“r1”,还会有“r2”、“r3”...“r10”...,下边分别会有“r2r4”、“r2r7”;“r3r1”;“r10r1”、“r10r3”等等。都有实现相同的功能。
    请大家帮帮忙,告诉我该怎么做!
      

  9.   

    <table border>
    <tr id="r1" onclick=showhide(this.id)><td>id="r1"</td>
    <tr id="r1r1"><td>id="r1r1"</td></tr>
    <tr id="r1r2"><td>id="r1r2"</td></tr>
    <tr id="r1r3"><td>id="r1r3"</td></tr>
    <tr id="r1r4"><td>id="r1r4"</td></tr><tr id="r2" onclick=showhide(this.id)><td>id="r2"</td>
    <tr id="r2r1"><td>id="r2r1"</td></tr>
    <tr id="r2r2"><td>id="r2r2"</td></tr>
    <tr id="r2r3"><td>id="r2r3"</td></tr>
    <tr id="r2r4"><td>id="r2r4"</td></tr></table>
    <script>
    function showhide(obj)
    {
        var i=1;
        while(true){
            myrow = null;
            subobj=obj+"r"+i;
    str="typeof("+subobj+")=='undefined'";
            if(eval(str)) 
             break;
            else
             myrow = eval(subobj);
    if(myrow.style.display=="none"){
                myrow.style.display="block";
    }
    else{
                myrow.style.display="none";
    }
    i++;
        }
    }
    </script>
    注意的是:
    子菜单必须是从r1 开始的 ……
      

  10.   

    看我的怎么样:不管这个表有多少行,不管这些行叫什么名字,统吃!
    <SCRIPT LANGUAGE="JavaScript">
    function showhide()
    {
     var rows = tb.rows;
     var state= rows.item(1).style.display=="none"? "block": "none"
     for(var i=1; i<rows.length;i++){
     rows.item(i).style.display=state;
     }
    }</SCRIPT>
    <TABLE id="tb" border=1>
    <TR onclick="showhide()">
    <TD>34</TD><TD>56</TD></TR>
    <TR><TD>12</TD> <TD>454</TD></TR>
    <TR><TD>34</TD> <TD>3446</TD></TR>
    </TABLE>
      

  11.   

    如果 不想限制名字那就要限制table 层次。 总之要有据可依嘛。