隐藏除head之外的表行

时间:2010-05-12 06:56:30

标签: javascript html

如果没有Jquery或任何JavaScript库,我需要隐藏一个简单的html表的行,除了页面加载时的表头。

3 个答案:

答案 0 :(得分:5)

如果你的桌子被正确标记了。 你可以这样做:

document.getElementById('yourtable')
        .getElementsByTagName('tbody')[0]
        .style.display = 'none';

然后把它放在'onload'事件上

您也可以在CSS + Javascript中通过将全局.js类设置为您的标记然后使用CSS选择器来完成。

html.js #yourtable tbody 
{
   display: none;
}

答案 1 :(得分:1)

没有特别需要诉诸javascript,你也可以通过CSS做到这一点:

#table_id tr
{
  display:none;
}

这应隐藏所有TRs而不是TH

答案 2 :(得分:1)

<style type="text/css">
.mytable tr {
    display: none;
}
</style>
开玩笑吧。我们走了:

<table border="1" id="mytable">
<th>
    <td>asd</td>
    <td>asd</td>
</th>
<tr>
    <td>asdkjas</td>
    <td>asdasdjwa</td>
</tr>
<tr>
    <td>asdkjas</td>
    <td>asdasdjwa</td>
</tr>
</table>

<script type="text/javascript">
window.onload=function(){
    hideTableRows();
}
function hideTableRows() {
    var myTableRows = document.getElementById("mytable").getElementsByTagName("tr");
    for(i=0;i< myTableRows.length;i++) {
        myTableRows[i].style.display = "none";
    }
}
</script>

我认为一个表需要行,不会只显示标题..我可以建议在表的开头添加一个空行,并将for循环中的“i”更改为1.这样第一行应该跳过。

HTH 马尔科