简体   繁体   中英

Hide specific row from table without ID

I have simple table generated by PHP.

<table border="1" id="control>
    <tbody>
        <tr>...</tr>
        <tr>...</tr>
        <tr>...</tr>  //Row #3
        <tr>...</tr>
        <tr>...</tr>
        <tr>...</tr>
    </tbody>
</table>

I would like to hide 3rd row when page loads using javascript or css. Is there any way to do this without giving 3rd row ID?

Thank you in advance

使用jquery非常简单, $('#control tr:eq(2)').hide()

with css3 you can use the :nth-child selector

#control tr:nth-child(3)
{
   display:none;
}

尝试这个

 document.getElementsByTagName("tr")[2].style.display = 'none';

Using pure JavaScript (no framework like JQuery etc.) one can do:

<!DOCTYPE html>
<html>
<head>
    <title>HTML</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <table border="1" id="control">
        <tbody>
            <tr><td>row1</td></tr>
            <tr><td>row2</td></tr>
            <tr><td>row3</td></tr>
            <tr><td>row4</td></tr>
            <tr><td>row5</td></tr>
            <tr><td>row6</td></tr>
        </tbody>
    </table>
    <script type="text/javascript">
        var tableElm = document.getElementById("control");
        var tableChilds = tableElm.getElementsByTagName("tr");
        var row3 = tableChilds[2];
        row3.style.display = "none";
        // alternatively:
        //row3.style.visibility = "hidden";
    </script>
</body>
</html>

使用jQuery的eq(int)选择从零开始的索引处的行:

$("#control tr").eq(2).hide();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM