一、使用HTML标签创建表格:
二、使用DOM创建表格
<table>标签是HTML中结构最为复杂的一个,我们可以通过DOM来创建生成它,或者HTMLDOM来操作它。(HTMLDOM提供了更加方便快捷的方式来操作HTML)
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操作表格会很烦)
四、使用HTMLDOM来获取表格数据(方便,简单,清晰)。
因为表格较为繁杂,层次也多,在使用之前所学习的DOM只是来获取某个元素会非常难受,所以使用HTMLDOM会清晰很多。
alert(table.tFoot);//获取表尾</p>
<p>//按HTMLDOM来获取表体<tbody>
alert(table.tBodies);//获取表体的集合
};
在一个表格中<thead>和<tfoot>是唯一的,只能有一个。而<tbody>不是唯一的可以有多个,这样导致最后返回的<thead>和<tfoot>是元素引用,而<tbody>返回的是元素集合。
alert(table.rows.length);//获取行数的集合,数量</p>
<p>//按HTMLDOM来获取表格主体里的行数
alert(table.tBodies[0].rows.length);//获取主体的行数的集合,数量
};
vartable=document.getElementsByTagName('table')[0];//获取table引用</p>
<p>//按HTMLDOM来获取表格主体内第一行的单元格数量(tr)
alert(table.tBodies[0].rows[0].cells.length);//获取第一行单元格的数量
};
vartable=document.getElementsByTagName('table')[0];//获取table引用</p>
<p>//按HTMLDOM来获取表格主体内第一行第一个单元格的内容(td)
alert(table.tBodies[0].rows[0].cells[0].innerHTML);//获取第一行第一个单元格的内容
};
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创建表格
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()之类的。