来源:自学PHP网 时间:2014-12-15 15:58 作者: 阅读:次
[导读] 这篇文章主要介绍了dom操作表格示例(dom创建表格),需要的朋友可以参考下...
这篇文章主要介绍了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()之类的。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com