默认情况下如何隐藏可折叠表格(顶行除外)

时间:2018-10-31 22:55:15

标签: javascript html css

我有以下html,默认情况下想隐藏可折叠表,仅显示第一行。单击时会弹出表格的其余部分。现在,它显示了整个表格,只有在切换后才能隐藏。

<html>

<style>

table { 
    width: 300px; 
    border-collapse: collapse;
    border-color: grey;
    line-height: 1.7;
    }

th { 
    background: #ffffff; 
    color: #000000; 
    font-weight: bold;
    }

td, th { 

    border: 1px solid #ccc; 
    text-align: center; 
    font-size: 14px;
    }

td {
 color: #000000;
 }

.labels tr td {
    font-weight: bold;
    color: #feb330;
}

.label tr td label {
    display: block;
}

.bold {
font-weight: bold;
}


[data-toggle="toggle"] {
    display: none;
}

</style>

<table>

       <tbody class="labels">

        <tr bgcolor="#ffffff">
            <td colspan="3">
            <label for="14Season">2014 Season: 19</label>
                    <input type="checkbox" name="14Season" id="14Season" data-toggle="toggle">
        </tr>

        </tbody>

        <tbody class="hide">

            <tr bgcolor="#264033">
                <td class="bold" colspan="1" style="color:#ffffff">Date</td>
                <td class="bold" colspan="1" style="color:#ffffff">Scorigami</td>
                <td class="bold" colspan="1" style="color:#ffffff">Total</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">9/21/13</td>
                <td style="color:#ffffff">0-6 L</td>
                <td style="color:#ffffff">1</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">9/21/13</td>
                <td style="color:#ffffff">8-10 L</td>
                <td style="color:#ffffff">2</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">9/22/13</td>
                <td style="color:#ffffff">10-8 W</td>
                <td style="color:#ffffff">3</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">10/19/13</td>
                <td style="color:#ffffff">3-2 W</td>
                <td style="color:#ffffff">4</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">10/19/13</td>
                <td style="color:#ffffff">1-4 L</td>
                <td style="color:#ffffff">5</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">10/26/13</td>
                <td style="color:#ffffff">7-0 W</td>
                <td style="color:#ffffff">6</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">4/11/14</td>
                <td style="color:#ffffff">7-2 W</td>
                <td style="color:#ffffff">7</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">4/11/14</td>
                <td style="color:#ffffff">7-1 W</td>
                <td style="color:#ffffff">8</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">4/12/14</td>
                <td style="color:#ffffff">13-6 W</td>
                <td style="color:#ffffff">9</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">4/12/14</td>
                <td style="color:#ffffff">10-2 W</td>
                <td style="color:#ffffff">10</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">4/13/14</td>
                <td style="color:#ffffff">12-0 W</td>
                <td style="color:#ffffff">11</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">4/26/14</td>
                <td style="color:#ffffff">8-2 W</td>
                <td style="color:#ffffff">12</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">4/26/14</td>
                <td style="color:#ffffff">7-5 W</td>
                <td style="color:#ffffff">13</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">4/27/14</td>
                <td style="color:#ffffff">9-1 W</td>
                <td style="color:#ffffff">14</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">5/2/14</td>
                <td style="color:#ffffff">10-0 W</td>
                <td style="color:#ffffff">15</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">5/3/14</td>
                <td style="color:#ffffff">4-2 W</td>
                <td style="color:#ffffff">16</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">5/4/14</td>
                <td style="color:#ffffff">10-4 W</td>
                <td style="color:#ffffff">17</td>
            </tr>

            <tr bgcolor="#264033">
                <td style="color:#ffffff">5/16/14</td>
                <td style="color:#ffffff">1-2 L</td>
                <td style="color:#ffffff">18</td>
            </tr>

            <tr bgcolor="#000000">
                <td style="color:#ffffff">5/17/14</td>
                <td style="color:#ffffff">7-12 L</td>
                <td style="color:#ffffff">19</td>
            </tr>

        </tbody>

</table>

<script>

$(document).ready(function() {
    $('[data-toggle="toggle"]').change(function(){
        $(this).parents().next('.hide').toggle();
    });
});

</script>


</html>

我认为只需要进行很小的更改,但似乎无法做到正确。感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

table { 
    display: none;
}

这应该有效。也要更改

[data-toggle="toggle"] {
     display: block;
}

答案 1 :(得分:0)

您可以为表格中的行提供逻辑ID,然后使用一个函数来隐藏/显示它们

用于检索表行ID的代码

  var table = document.querySelector('table');

  // listen for a click
   table.addEventListener('click', function(ev){
    // get the event targets ID
    var serviceID = ev.target.id;
    alert(serviceID);
})

答案 2 :(得分:0)

添加

.hide {
display: none;
}

解决了该问题。