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 2006 2007 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
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>

完毕。




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2010/08/11/1797305.html,如需转载请自行联系原作者

相关文章
N..
|
30天前
|
前端开发 开发者
HTML表格
HTML表格
N..
11 1
|
1月前
|
移动开发 前端开发 HTML5
【基于HTML5的网页设计及应用】——实现个人简历表格和伪类选择器应用
【基于HTML5的网页设计及应用】——实现个人简历表格和伪类选择器应用
49 0
|
3月前
|
前端开发 JavaScript
如何固定html表格头部,用css样式即可实现,操作简便、代码简单
如何固定html表格头部,用css样式即可实现,操作简便、代码简单
29 0
|
1月前
|
移动开发 HTML5
HTML5表格简单应用案例之[招聘需求表]
HTML5表格简单应用案例之[招聘需求表]
11 0
|
1月前
HTML列表、表格和媒体元素
HTML列表、表格和媒体元素
11 0
|
1月前
|
前端开发
编程笔记 html5&css&js 016 HTML表格
编程笔记 html5&css&js 016 HTML表格
|
2月前
|
移动开发 前端开发 JavaScript
H5+CSS3+JS逆向前置——HTML2、table表格标签
H5+CSS3+JS逆向前置——HTML2、table表格标签
26 0
|
3月前
|
移动开发 前端开发 数据安全/隐私保护
HTML5表单标签和表格标签详解
表单标签和表格标签
36 0
|
4月前
|
数据采集 数据库 C++
HTML中的表格、表单标签
HTML中的表格、表单标签
38 0
|
4月前
|
JavaScript 前端开发
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM