用js怎么建表格?

JavaScript028

用js怎么建表格?,第1张

<input type="button" value="创建一个新表格" onclick="createTable(800,8,5)" />

<script type="text/javascript">

function createTable(width,rows,cells)

{

//创建一个表格对象

var mytable=document.createElement("table")

mytable.cellSpacing="1px"

//创建一个表头对象

var mythead=document.createElement("thead")

for(a=0a<1a++)

{

var myrow=document.createElement("tr")

for(b=0b<cellsb++)

{

var mytd=document.createElement("td")

mytd.innerHTML="表 头 " +(b+1)

mytd.style.cssText="text-align:center"

myrow.appendChild(mytd)

}

mythead.appendChild(myrow)

}

//创建一个表体对象

var mytbody=document.createElement("tbody")

for(i=0i<rowsi++)

{

var myrow=document.createElement("tr")

for(j=0j<cellsj++)

{

var mytd=document.createElement("td")

mytd.style.backgroundColor="#fff"

mytd.innerHTML="第"+(i+1)+"行第"+(j+1)+"列"

myrow.appendChild(mytd)

}

mytbody.appendChild(myrow)

}

//创建一个表脚对象

var mytfoot=document.createElement("tfoot")

for(c=0c<1c++)

{

var myrow=document.createElement("tr")

for(d=0d<1d++)

{

var mytd=document.createElement("td")

mytd.innerHTML="脚"+(d+1)

mytd.style.cssText="text-align:center"

mytd.colSpan="10"

myrow.appendChild(mytd)

}

mytfoot.appendChild(myrow)

}

//将表头追加到表格

mytable.appendChild(mythead)

//将表体追加到表格

mytable.appendChild(mytbody)

//将表脚追加到表格

mytable.appendChild(mytfoot)

//追加对象样式

mythead.style.cssText="background-color:#003color:#FFFfont-size:14pxfont-weight:600width:"+width+"px"

mytable.style.cssText="background-color:#999border:0pxwidth:"+width+"px"

mytfoot.style.cssText="background-color:#003color:#FFFfont-size:14pxfont-weight:600width:"+width+"px"

document.body.appendChild(mytable)

}

</script>

方法一:最原始的方法,创建一一元素

 var a1=document.createElement("table")

 var a2=document.createElement("tbody")

 var a3=document.createElement("tr")

 var a4=document.createElement("td")

 //开始appendchild()追加各个元素

 a3.appendChild(a4)

 a2.appendChild(a3)

 a1.appendChild(a2)

方法二:利用table对象里面含有的函数:插入行和插入列

var tabNode=document.createElement("table")

var trNode=tabNode.insertRow()

var tdNode=trNode.insertCell

tabNode.innerHTML="这是采用table对象里面的函数创建的"

注意:利用原始方法,一个个createElement时候,必须要添加一个tbody对象

动态的创建和删除:

创建表格,通过输入的值:

function createTable() {

    tableNode = document.createElement("table") //获得对象   

    tableNode.setAttribute("id", "table")

    var row = parseInt(document.getElementsByName("row1")[0].value) //获得行号 

    //alert(row)   

    if (row <= 0 || isNaN(row)) {

        alert("输入的行号错误,不能创建表格,请重新输入:")

        return

    }

    var cols = parseInt(document.getElementsByName("cols1")[0].value)

    if (isNaN(cols) || cols <= 0) {

        alert("输入的列号错误,不能创建表格,请重新输入:")

        return

    }

    //上面确定了 现在开始创建  

    for (var x = 0 x < row x++) {

        var trNode = tableNode.insertRow()

        for (var y = 0 y < cols y++) {

            var tdNode = trNode.insertCell()

            tdNode.innerHTML = "单元格" + (x + 1) + "-" + (y + 1)

        }

    }

    document.getElementById("div1").appendChild(tableNode) //添加到那个位置 

}

删除行:

function delRow() {

    //要删除行,必须得到table对象才能删除,所以在创建的时候必须要设置table对象的 id 方便操作 

    var tab = document.getElementById("table") //获得table对象  

    if (tab == null) {

        alert("删除的表不存在!")

        return

    }

    var rows = parseInt(document.getElementsByName("delrow1")[0].value) //获得要删除的对象  

    if (isNaN(rows)) {

        alert("输入的行不正确。请输入要删除的行。。。")

        return

    }

    if (rows >= 1 && rows <= tab.rows.length) {

        tab.deleteRow(rows - 1)

    } else {

        alert("删除的行不存在!!")

        return

    } 

}

删除列:

//删除列要麻烦些, 要通过行来进行删除   

// 一行的cells的长度就是列的个数   

//tab.rows[x].deleteCell(cols-1)

function delCols() {

    //获得table对象  

    var tab = document.getElementById("table")

    if (tab == null) {

        alert("删除的表不存在!!")

        return

    }

    //获得文本框里面的内容    

    var cols = parseInt(document.getElementsByName("delcols1")[0].value)

    //检查是否可靠   

    if (isNaN(cols)) {

        alert("输入不正确。请输入要输出的列。。")

        return

    }

    if (!(cols >= 1 && cols < tab.rows[0].cells.length)) {

        alert("您要删除的行不存在!!")

        return

    }

    for (var x = 0 x < tab.rows.length x++) {//所有的行  

        tab.rows[x].deleteCell(cols - 1)

    } 

}