热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> 网页标准>>正文内容

HTML 中表格table 的相关知识

发布时间:2010年08月12日点击数: 佚名

<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 有效)

经典的表格代码如下:

  1. <html> 
  2. <head> 
  3. <title>财政报表</title> 
  4. <style type="text/css"> 
  5. <!-- 
  6. .datalist{ 
  7.     border:1px solid #429fff;    /* 表格边框 */ 
  8.     font-family:Arial; 
  9.     border-collapse:collapse;    /* 边框重叠 */ 
  10. .datalist tr:hover{ 
  11.     background-color:#c4e4ff;   /* 动态变色,IE6下无效!*/ 
  12. .datalist caption{ 
  13.     padding-top:3px; 
  14.     padding-bottom:2px; 
  15.     font:bold 1.1em; 
  16.     background-color:#f0f7ff; 
  17.     border:1px solid #429fff;    /* 表格标题边框 */ 
  18. .datalist th{ 
  19.     border:1px solid #429fff;    /* 行、列名称边框 */ 
  20.     background-color:#d2e8ff; 
  21.     font-weight:bold; 
  22.     padding-top:4px; padding-bottom:4px; 
  23.     padding-left:10px; padding-right:10px; 
  24.     text-align:center; 
  25. .datalist td{ 
  26.     border:1px solid #429fff;    /* 单元格边框 */ 
  27.     text-align:right; 
  28.     padding:4px; 
  29. --> 
  30. </style> 
  31. </head> 
  32. <body>  
  33. <table class="datalist" summary="财政报表"> 
  34.     <caption>财政报表 2005 - 2008</caption> 
  35.     <thead> 
  36.     <tr> 
  37.         <th>&nbsp;</th> 
  38.         <th scope="col">2005</th> 
  39.         <th scope="col">2006</th> 
  40.         <th scope="col">2007</th> 
  41.         <th scope="col">2008</th> 
  42.     </tr> 
  43.     </thead> 
  44.     <tbody> 
  45.     <tr> 
  46.         <th scope="row">拨款</th> 
  47.         <td>11,980</td> 
  48.         <td>12,650</td> 
  49.         <td>9,700</td> 
  50.         <td>10,600</td> 
  51.     </tr> 
  52.     <tr> 
  53.         <th scope="row">捐款</th> 
  54.         <td>4,780</td> 
  55.         <td>4,989</td> 
  56.         <td>6,700</td> 
  57.         <td>6,590</td> 
  58.     </tr> 
  59.     <tr> 
  60.         <th scope="row">投资</th> 
  61.         <td>8,000</td> 
  62.         <td>8,100</td> 
  63.         <td>8,760</td> 
  64.         <td>8,490</td> 
  65.     </tr> 
  66.     <tr> 
  67.         <th scope="row">募捐</th> 
  68.         <td>3,200</td> 
  69.         <td>3,120</td> 
  70.         <td>3,700</td> 
  71.         <td>4,210</td> 
  72.     </tr> 
  73.     </tbody> 
  74.     <tfoot> 
  75.     <tr> 
  76.        <td colspan="5">2008 年统计</td> 
  77.     </tr> 
  78.     </tfoot> 
  79. </table> 
  80. </body> 
  81. </html> 

显示效果如下:

注意:
IE6 只有<a>标记支持:hover 伪类,其余标签都不支持!
并且<a>标记的伪类有顺序:a:link -> a:visited -> a:hover -> a:active

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

A 利用DOM 动态添加一行

  1. <script language="javascript"
  2. window.onload=function(){ 
  3.     //插入一行 
  4.     var oTr = document.getElementById("mytable").insertRow(2); 
  5.     var aText = new Array(); 
  6.     aText[0] = document.createTextNode("cell1的内容"); 
  7.     aText[1] = document.createTextNode("cell2的内容"); 
  8.     aText[2] = document.createTextNode("cell3的内容"); 
  9.     aText[3] = document.createTextNode("cell4的内容"); 
  10.     aText[4] = document.createTextNode("cell5的内容"); 
  11.     for(var i=0;i<aText.length;i++){ 
  12.         var oTd = oTr.insertCell(i); 
  13.         oTd.appendChild(aText[i]); 
  14.     } 
  15. </script> 

B 利用DOM 修改单元格内容

  1. <script language="javascript"
  2. window.onload=function(){ 
  3.     var oTable = document.getElementById("mytable"); 
  4.     //修改单元格内容 
  5.     oTable.rows[3].cells[4].innerHTML = "更改的内容"
  6. </script> 

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

  1. <script language="javascript"
  2. window.onload=function(){ 
  3.     var oTable = document.getElementById("mytable"); 
  4.     //删除一行,后面的行号自动补齐 
  5.     oTable.deleteRow(2); 
  6.     //删除一个单元格,后面的也自动补齐 
  7.     oTable.rows[2].deleteCell(1); 
  8. </script> 

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

  1. <script language="javascript"
  2. function myDelete(){ 
  3.     var oTable = document.getElementById("mytable"); 
  4.     //删除该行 
  5.     this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode); 
  6.   
  7. window.onload=function(){ 
  8.     var oTable = document.getElementById("mytable"); 
  9.     var oTd; 
  10.     //动态添加delete链接 
  11.     for(var i=1;i<oTable.rows.length;i++){ 
  12.         oTd = oTable.rows[i].insertCell(5); 
  13.         oTd.innerHTML = "<a href='#'>delete</a>"
  14.         oTd.firstChild.onclick = myDelete; //添加删除事件 
  15.     } 
  16. </script> 

E 利用DOM 动态删除某一列

  1. <script language="javascript"
  2. function deleteColumn(oTable,iNum){ 
  3.     //自定义删除列函数,即每行删除相应单元格 
  4.     for(var i=0;i<oTable.rows.length;i++) 
  5.         oTable.rows[i].deleteCell(iNum); 
  6.   
  7. window.onload=function(){ 
  8.     var oTable = document.getElementById("mytable"); 
  9.     deleteColumn(oTable,2); //参数2:表示要删除的列号 
  10. </script> 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作