Javascript如何动态创建表
动态创建表的两个Javascript方法是共享和实现的,如下所示方法一:最原始的方法,创建一个元素
VaR A1 = document.createelement(表);
VaR A2 = document.createelement(把);
VaR A3 = document.createelement(TR);
VaR A4 = document.createelement(TD);
(appendChild) / /附加元件
a3.appendchild(A4);
a2.appendchild(A3);
a1.appendchild(A2);
方法二:利用表对象中包含的函数:插入行和插入列
无功tabnode = document.createelement(表);
无功trnode = tabnode.insertrow();
无功tdnode = trnode.insertcell;
TabNode。innerHTML =这是用表格对象在函数内部创建的。
注意:使用原来的方法,当createElement,您必须添加一个TBODY对象
获取兄弟节点标签
/ / var / / node3=tabnode.previousSibling; before a node access to this object references a brother object.
/ /警报(+间 / / #前文——间:);
/ /如果后面回车,高的IE和Firefox版本将成为一个空白文本识别#文本,
和IE的低版本将不仅直接跨节点,其他节点。
在标签和标签之间,也隐藏了标签-表体。
动态创建和删除:
根据输入值创建一个表:
功能createtable(){
tablenode = document.createelement(表); / /对象
tablenode.setattribute(身份
无功行= parseInt(document.getelementsbyname(row1 / /获得);线数{ 0 }。值)
警报(行);
如果(行< = 0 | | isnan(行)){
警报(输入的行数是错误的,不能创建一个表,请重新输入:);
返回;
}
var列= parseInt(document.getelementsbyname(cols1 ){ 0 }。值);
如果(isnan(列)| |列< = 0){
警报(输入列数是错误的,不能创建一个窗体,请重新输入:);
返回;
}
现在决定创建。
对于(var x = 0;x行;x + +){
无功trnode = tablenode.insertrow();
对于(var y = 0;Y<列;Y + +){
无功tdnode = trnode.insertcell();
TdNode。innerHTML =细胞+(x + 1)+-+(y + 1);
}
}
document.getelementbyid(联赛)。AppendChild(tablenode); / /添加到那个位置。
}
删除行:
功能delrow(){
要删除行,必须是一个表对象来删除ID,方便操作,所以在时间内必须创建一个表对象。
var标签= document.getelementbyid(表); / /得到一个表对象
如果(制表符= NULL){
警报()已删除的表不存在!)
返回;
}
无功行= parseInt(document.getelementsbyname(delrow1 ); / / { 0 }。值)得到的对象被删除
如果(isnan(行)){
警告()输入行不正确。请输入要删除的行;
返回;
}
如果(行> = 1行=制表符.行.长度){
Tab.deleteRow (rows-1);
其他{ }
警报()删除行不存在!;
返回;
}
}
删除列:
删除列要比较麻烦,要通过行删除
若干行的单元格是列的长度。
/ /标签。行{X}。deleteCell(cols-1)
功能delcols(){
获取一个表对象
var标签= document.getelementbyid(表);
如果(制表符= NULL){
警报()已删除的表不存在!;
返回;
}
获取内容内的文本框
var列= parseInt(document.getelementsbyname(delcols1 ){ 0 }。值);
检查是否可靠
如果(isnan(列)){
警报()输入不正确。请输入要输出的列;
返回;
}
如果(!(指> = 1列<标签。行{ 0 }。细胞。长度)){
警报()您要删除的行不存在!;
返回;
}
对于(var x = 0;x<tab.rows.length;x++){ / /所有
Tab。行{X}。deleteCell(cols-1);
}
}
完整的代码:
createtable2.html
表{
边境:# 00ffff固体2px;
边界塌陷:塌陷;
}
TD {
Border:#8080ff solid 2px;
填料:10px;
}
无功tablenode;
功能createtable(){
tablenode = document.createelement(表); / /对象
tablenode.setattribute(身份
无功行= parseInt(document.getelementsbyname(row1 / /获得);线数{ 0 }。值)
警报(行);
如果(行< = 0 | | isnan(行)){
警报(输入的行数是错误的,不能创建一个表,请重新输入:);
返回;
}
var列= parseInt(document.getelementsbyname(cols1 ){ 0 }。值);
如果(isnan(列)| |列< = 0){
警报(输入列数是错误的,不能创建一个窗体,请重新输入:);
返回;
}
现在决定创建。
对于(var x = 0;x行;x + +){
无功trnode = tablenode.insertrow();
对于(var y = 0;Y<列;Y + +){
无功tdnode = trnode.insertcell();
TdNode。innerHTML =细胞+(x + 1)+-+(y + 1);
}
}
document.getelementbyid(联赛)。AppendChild(tablenode); / /添加到那个位置。
}
功能delrow(){
要删除行,必须是一个表对象来删除ID,方便操作,所以在时间内必须创建一个表对象。
var标签= document.getelementbyid(表); / /得到一个表对象
如果(制表符= NULL){
警报()已删除的表不存在!)
返回;
}
无功行= parseInt(document.getelementsbyname(delrow1 ); / / { 0 }。值)得到的对象被删除
如果(isnan(行)){
警告()输入行不正确。请输入要删除的行;
返回;
}
如果(行> = 1行=制表符.行.长度){
Tab.deleteRow(rows-1);
其他{ }
警报()删除行不存在!;
返回;
}
}
删除列要比较麻烦,要通过行删除
若干行的单元格是列的长度。
/ /标签。行{X}。deleteCell(cols-1)
功能delcols(){
获取一个表对象
var标签= document.getelementbyid(表);
如果(制表符= NULL){
警报()已删除的表不存在!;
返回;
}
获取内容内的文本框
var列= parseInt(document.getelementsbyname(delcols1 ){ 0 }。值);
检查是否可靠
如果(isnan(列)){
警报()输入不正确。请输入要输出的列;
返回;
}
如果(!(指> = 1列<标签。行{ 0 }。细胞。长度)){
警报()您要删除的行不存在!;
返回;
}
对于(var x = 0;x<tab.rows.length;x++){ / /所有
Tab。行{X}。deleteCell(cols-1);
}
}
没关系:
柱:
效果演示:
以上是为您动态共享的两种Javascript创建表表的方法。希望你能喜欢。