源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 238|回复: 21

[HTML/Xhtml] dom操作表格示例(dom创建表格)

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2014-4-16 16:22:13 | 显示全部楼层 |阅读模式
这篇文章主要介绍了dom操作表格示例(dom创建表格),需要的朋友可以参考下

一、使用HTML标签创建表格:


复制代码代码如下:
<tableborder="1"width="300">
<caption>人员表</caption>
<thead>
<tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>男</td>
<td>20</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>22</td>
</tr>
</tbody>
<tfoot>
<tr>
<tdcolspan="3">合计:N</td>
</tr>
</tfoot>
</table>

thead、tfoot、caption标签在一个表格中只能有一个tbody、tr、td、th标签在一个表格中可以有N个

二、使用DOM创建表格

<table>标签是HTML中结构最为复杂的一个,我们可以通过DOM来创建生成它,或者HTMLDOM来操作它。(HTMLDOM提供了更加方便快捷的方式来操作HTML)


复制代码代码如下:
<script>
window.onload=function(){
vartable=document.createElement("table");
//给表格添加属性
table.width=300;//还可以使用这种方法:table.setAttribute('width',300)
table.border=1;</p> <p>//创建表格的标题
varcaption=document.createElement("caption");
table.appendChild(caption);</p> <p>//给表格的标题添加内容
//caption.innerHTML="人员表";//非W3c标准的方法
varcaptionText=document.createTextNode("人员表");
caption.appendChild(captionText);</p> <p>
//创建表格的第一行,是个标题行
varthead=document.createElement("thead");
table.appendChild(thead);</p> <p>vartr=document.createElement("tr");
thead.appendChild(tr);</p> <p>//列
varth1=document.createElement("th");
tr.appendChild(th1);
th1.innerHTML="数据";
varth2=document.createElement("th");
tr.appendChild(th2);
th2.innerHTML="数据";</p> <p>document.body.appendChild(table);
};
</script>

三、使用DOM获取表格数据(使用DOM操作表格会很烦)

复制代码代码如下:
window.onload=function(){
vartable=document.getElementsByTagName("table")[0];
alert(table.children[0].innerHTML);
};

四、使用HTMLDOM来获取表格数据(方便,简单,清晰)。

因为表格较为繁杂,层次也多,在使用之前所学习的DOM只是来获取某个元素会非常难受,所以使用HTMLDOM会清晰很多。


复制代码代码如下:
window.onload=function(){
//使用HTMLDOM来获取表格元素
vartable=document.getElementsByTagName('table')[0];//获取table引用
//按HTMLDOM来获取表格的<caption>
alert(table.caption.innerHTML);//获取caption的内容
//table.caption.innerHTML="学生表";//还可以设置值
};


复制代码代码如下:
window.onload=function(){
//使用HTMLDOM来获取表格元素
vartable=document.getElementsByTagName('table')[0];//获取table引用
//按HTMLDOM来获取表头表尾<thead>、<tfoot>
alert(table.tHead);//获取表头
alert(table.tFoot);//获取表尾</p> <p>//按HTMLDOM来获取表体<tbody>
alert(table.tBodies);//获取表体的集合
};

在一个表格中<thead>和<tfoot>是唯一的,只能有一个。而<tbody>不是唯一的可以有多个,这样导致最后返回的<thead>和<tfoot>是元素引用,而<tbody>返回的是元素集合。


复制代码代码如下:
window.onload=function(){
//使用HTMLDOM来获取表格元素
vartable=document.getElementsByTagName('table')[0];//获取table引用
//按HTMLDOM来获取表格的行数
alert(table.rows.length);//获取行数的集合,数量</p> <p>//按HTMLDOM来获取表格主体里的行数
alert(table.tBodies[0].rows.length);//获取主体的行数的集合,数量
};


复制代码代码如下:
window.onload=function(){
//使用HTMLDOM来获取表格元素
vartable=document.getElementsByTagName('table')[0];//获取table引用</p> <p>//按HTMLDOM来获取表格主体内第一行的单元格数量(tr)
alert(table.tBodies[0].rows[0].cells.length);//获取第一行单元格的数量
};


复制代码代码如下:
window.onload=function(){
//使用HTMLDOM来获取表格元素
vartable=document.getElementsByTagName('table')[0];//获取table引用</p> <p>//按HTMLDOM来获取表格主体内第一行第一个单元格的内容(td)
alert(table.tBodies[0].rows[0].cells[0].innerHTML);//获取第一行第一个单元格的内容
};


复制代码代码如下:
<script>
window.onload=function(){
//使用HTMLDOM来获取表格元素
vartable=document.getElementsByTagName('table')[0];//获取table引用</p> <p>//按HTMLDOM来删除标题、表头、表尾、行、单元格
//table.deleteCaption();//删除标题
//table.deleteTHead();//删除<thead>
//table.tBodies[0].deleteRow(0);//删除<tr>一行
//table.tBodies[0].rows[0].deleteCell(0);//删除<td>一个单元格
//table.tBodies[0].rows[0].deleteCell(1);//删除一个单元格中的内容,相当于删除掉一个单元格,后面的但愿会补进
};
</script>

五、HTMLDOM创建表格


复制代码代码如下:
window.onload=function(){
//按HTMLDOM创建一个表格
vartable=document.createElement('table');
table.border=1;
table.width=300;</p> <p>table.createCaption().innerHTML='人员表';</p> <p>//table.createTHead();
//table.tHead.insertRow(0);
varthead=table.createTHead();//该方法返回一个引用
vartr=thead.insertRow(0);//该方法返回一个引用</p> <p>vartd=tr.insertCell(0);
//td.appendChild(document.createTextNode('数据'));//添加数据的一种方式,还可以使用下面种方式
td.innerHTML="数据";
vartd2=tr.insertCell(1);
//td2.appendChild(document.createTextNode('数据2'));
td2.innerHTML="数据2";</p> <p>document.body.appendChild(table);
};在创建表格的时候<table>、<tbody>、<th>没有特定的方法,需要使用document来创建。也可以模拟已有的方法编写特定的函数即可,例如:insertTH()之类的。

回复

使用道具 举报

2

主题

2万

回帖

381

积分

中级会员

Rank: 3Rank: 3

积分
381
发表于 2022-8-27 16:48:50 | 显示全部楼层
。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

2

主题

1万

回帖

146

积分

注册会员

Rank: 2

积分
146
发表于 2022-8-28 06:25:36 | 显示全部楼层
哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

6

主题

2万

回帖

247

积分

中级会员

Rank: 3Rank: 3

积分
247
发表于 2022-9-15 14:00:26 | 显示全部楼层
好东西可以可以可以可以
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

85

积分

注册会员

Rank: 2

积分
85
发表于 2023-5-11 06:23:58 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

59

积分

注册会员

Rank: 2

积分
59
发表于 2023-11-14 05:27:45 | 显示全部楼层
挺不错的东西
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

58

积分

注册会员

Rank: 2

积分
58
发表于 2023-12-12 14:22:08 | 显示全部楼层
看看看看看看看看看看看看看看看看看看看看看看看看看看看
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

499

积分

中级会员

Rank: 3Rank: 3

积分
499
发表于 2024-3-17 08:03:16 | 显示全部楼层
啦啦啦啦啦啦啦啦!
回复 支持 反对

使用道具 举报

12

主题

2万

回帖

431

积分

中级会员

Rank: 3Rank: 3

积分
431
发表于 2024-3-26 14:37:53 | 显示全部楼层
看看看看看看看看看看看看看看看看看看看看看看看看看看看
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

68

积分

注册会员

Rank: 2

积分
68
发表于 2024-4-12 08:12:38 | 显示全部楼层
论坛有你更精彩!
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-12-4 17:31 , Processed in 0.070442 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表