0
点赞
收藏
分享

微信扫一扫

HTML 中表格table 的相关知识



<table>标签中比较少见的属性和子标签:

summary 属性:​用于概括整个表格的内容。它对于搜索引擎的机器人记录信息十分重要。

bordercolor 属性:​用来设置表格边框的颜色。但它在不同的浏览器下显示的效果不一致。

                            (不推荐使用bordercolor 属性,而推荐使用CSS 样式表的border 属性来进行设置)

cellspacing 属性:​用来设置表格的单元格之间的间距。

                           (推荐使用CSS 样式表的border-collapse 属性来进行设置)

<caption> 标记:​表示表格的大标题,该标记可以出现在<table> 之间的任意位置。

                           它对于搜索引擎的机器人记录信息十分重要。

<th> 标记:​用于表示表格的行或者列的名称。

<th> 标记的scope 属性​:专门用来区分行名称和列名称。如:<th  scope='row'> 或 <th  scope='col'>

<table>里还包含:<thead> 、<tbody> 、<tfoot> 标记。​它们分别表示表格的表头,表正文,表脚。

             在打印网页内容的时候,如果表格很大,一页打印不完,<thead>和<tfoot>将在每一页出现。

            (注意:在IE 中无效,但在 Firefox 有效)



经典的表格代码如下:


<html>

<head>

<title>财政报表</title>

<style type="text/css">

<!--

.datalist{

    border:1px solid #429fff;    /* 表格边框 */

    font-family:Arial;

    border-collapse:collapse;    /* 边框重叠 */

}

.datalist tr:hover{

    background-color:#c4e4ff;   /* 动态变色,IE6下无效!*/

}

.datalist caption{

    padding-top:3px;

    padding-bottom:2px;

    font:bold 1.1em;

    background-color:#f0f7ff;

    border:1px solid #429fff;    /* 表格标题边框 */

}

.datalist th{

    border:1px solid #429fff;    /* 行、列名称边框 */

    background-color:#d2e8ff;

    font-weight:bold;

    padding-top:4px; padding-bottom:4px;

    padding-left:10px; padding-right:10px;

    text-align:center;

}

.datalist td{

    border:1px solid #429fff;    /* 单元格边框 */

    text-align:right;

    padding:4px;

}

-->

</style>

</head>

<body> 

<table class="datalist" summary="财政报表">

    <caption>财政报表 2005 - 2008</caption>

    <thead>

    <tr>

        <th>&nbsp;</th>

        <th scope="col">2005</th>

        <th scope="col">2006</th>

        <th scope="col">2007</th>

        <th scope="col">2008</th>

    </tr>

    </thead>

    <tbody>

    <tr>

        <th scope="row">拨款</th>

        <td>11,980</td>

        <td>12,650</td>

        <td>9,700</td>

        <td>10,600</td>

    </tr>

    <tr>

        <th scope="row">捐款</th>

        <td>4,780</td>

        <td>4,989</td>

        <td>6,700</td>

        <td>6,590</td>

    </tr>

    <tr>

        <th scope="row">投资</th>

        <td>8,000</td>

        <td>8,100</td>

        <td>8,760</td>

        <td>8,490</td>

    </tr>

    <tr>

        <th scope="row">募捐</th>

        <td>3,200</td>

        <td>3,120</td>

        <td>3,700</td>

        <td>4,210</td>

    </tr>

    </tbody>

    <tfoot>

    <tr>

       <td colspan="5">2008 年统计</td>

    </tr>

    </tfoot>

</table>

</body>

</html>


显示效果如下:

财政报表 2005 - 2008

拨款

11,980

12,650

9,700

10,600

捐款

4,780

4,989

6,700

6,590

投资

8,000

8,100

8,760

8,490

募捐

3,200

3,120

3,700

4,210

销售

28,400

27,100

27,950

29,050

杂费

2,100

1,900

1,300

1,760

总计

58,460

57,859

58,110

60,700


2005

2006

2007

2008

2008 年统计

注意:

IE6 只有<a>标记支持:hover 伪类,其余标签都不支持!

并且<a>标记的伪类有顺序:a:link -> a:visited -> a:hover -> a:active



利用DOM 的方法和属性实现对表格的动态操作



A  利用DOM 动态添加一行


<script language="javascript">

window.onload=function(){

    //插入一行

    var oTr = document.getElementById("mytable").insertRow(2);

    var aText = new Array();

    aText[0] = document.createTextNode("cell1的内容");

    aText[1] = document.createTextNode("cell2的内容");

    aText[2] = document.createTextNode("cell3的内容");

    aText[3] = document.createTextNode("cell4的内容");

    aText[4] = document.createTextNode("cell5的内容");

    for(var i=0;i<aText.length;i++){

        var oTd = oTr.insertCell(i);

        oTd.appendChild(aText[i]);

    }

}

</script>




B  利用DOM 修改单元格内容


<script language="javascript">

window.onload=function(){

    var oTable = document.getElementById("mytable");

    //修改单元格内容

    oTable.rows[3].cells[4].innerHTML = "更改的内容";

}

</script>




C  利用DOM 删除一个单元格或一行


<script language="javascript">

window.onload=function(){

    var oTable = document.getElementById("mytable");

    //删除一行,后面的行号自动补齐

    oTable.deleteRow(2);

    //删除一个单元格,后面的也自动补齐

    oTable.rows[2].deleteCell(1);

}

</script>




D  利用DOM 动态添加一列,并动态删除某行


<script language="javascript">

function myDelete(){

    var oTable = document.getElementById("mytable");

    //删除该行

    this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);

}


window.onload=function(){

    var oTable = document.getElementById("mytable");

    var oTd;

    //动态添加delete链接

    for(var i=1;i<oTable.rows.length;i++){

        oTd = oTable.rows[i].insertCell(5);

        oTd.innerHTML = "<a href='#'>delete</a>";

        oTd.firstChild.onclick = myDelete; //添加删除事件

    }

}

</script>




E  利用DOM 动态删除某一列


<script language="javascript">

function deleteColumn(oTable,iNum){

    //自定义删除列函数,即每行删除相应单元格

    for(var i=0;i<oTable.rows.length;i++)

        oTable.rows[i].deleteCell(iNum);

}


window.onload=function(){

    var oTable = document.getElementById("mytable");

    deleteColumn(oTable,2); //参数2:表示要删除的列号

}

</script>


完毕。



举报

相关推荐

0 条评论