Javascript 动态创建表格(还能删除行列)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>动态创建表格(还能删除行列)</title>
    <style type="text/css">
            body,div
            {
                margin:0;
                padding:0;
                font-size:14px;
            }
            table
            {
                margin:0 auto;
            }
            td
            {
                border:1px solid green;
                text-align:center;
            }
    </style>
    <script type="text/javascript">
        //动态创建表格
        function createTable() {
            var divMain = document.getElementById("divMain");
            removeAllChild(divMain);        //删除上次添加的表格
            var myTable = document.createElement("table");
            myTable.id = "DynamicTable";
            var myRow = document.getElementById("myRow").value;
            var myCol = document.getElementById("myCol").value;

            var trNode;
            var tdNode;
            var strTmp;
            for (var i = 1; i <= myRow; i++) {
                trNode = myTable.insertRow(-1);
                for (var j = 1; j <= myCol; j++) {
                    strTmp ="第"+ i + "行,第"+ j + "列";
                    tdNode = trNode.insertCell(-1);
                    tdNode.innerHTML = "<a href='javascript:void(0);'>" + strTmp + "</a>";
                }
            }

            divMain.appendChild(myTable);        //把表格添加到div中

            //event.srcElement.disabled = "true";  //添加按钮禁用
        }

        //删除指定节点下的所有子节点
        function removeAllChild(nodeObj) {
            while (nodeObj.hasChildNodes()) {
                nodeObj.removeChild(nodeObj.firstChild);
            }
        }

        //删除行
        function DeleteRow() {
            var rowNum = document.getElementById("delRow").value;
            var tbl = document.getElementById("DynamicTable");

            if (tbl == null) {
                alert('请先创建表格');
                return;
            }

            if ((rowNum <= tbl.rows.length) && (rowNum > 0)) {
                tbl.deleteRow(rowNum-1);
            }
            else {
                alert('请输入一个有效的行!');
            }
        }

        //删除列
        function DeleteCol() {
            var colNum = document.getElementById("delCol").value;
            var tbl = document.getElementById("DynamicTable");

            if (tbl == null) {
                alert('请先创建表格');
                return;
            }

            if(tbl.rows.length<=0) {
                alert('表格不存在行');
                return;
            }
            if ((colNum <= tbl.rows[0].cells.length) && (colNum > 0)) {
                for (var i = 0; i < tbl.rows.length; i++) {
                    tbl.rows[i].deleteCell(colNum - 1);
                }
            }
            else {
                alert('指定列不存在');
            }
        }
    </script>
</head>
<body>
    请输入行数<input type="text" id="myRow" />,请输入列数<input type="text" id="myCol" /><br />
    <input type="button" value="创建表格" οnclick="createTable()" /><br />
    <input type="text" id="delRow" /><input type="button" value="删除行" οnclick="DeleteRow()" /><br />
    <input type="text" id="delCol" /><input type="button" value="删除列" οnclick="DeleteCol()" /><br />
    <div id="divMain">
       
    </div>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值