• js的表格对象和DOM联合操作


    <!DOCTYPE html>
    <html>
    <head>
        <title>jsDOM添加一行表格</title>
        <style type="text/css">
            td
            {
                style="border: 1px solid green
            }
            #table_target
            {
                position: relative;
                left: 350px;
                /*border: 2px solid orange;*/
                text-align: center;
            }
            table
            {
                position: relative;
                left: 0px;
                 600px;
                padding: 0px;
                /*border: 1px solid red;*/
            }
            td
            {
                 20px;
                border: 2px solid green;
            }
            #student
            {
                display: block;  /*将行内元素变为块级元素*/
                font-size: 30px;
                margin: 30px;
                margin-top: 100px;
                text-align: center;
                border: 2px solid red;
            }
            form
            {
                 600px;
                height: 20px;
                /*border: 1px solid red;*/
                margin-bottom: 20px;
            }
            .input_div
            {
                float: left;
                display: inline;
                 150px;
            }
            input
            {
                 100px;
                border-color: red;
                border-radius: 5px 5px;
            }
            .input_name
            {
                 50px;
                height: 20px;
            }
            .input_div2
            {
                float: left;
                display: inline;
                 150px;
                height: 20px;
                /*border: 1px solid red;*/
                margin-right: 0px;
            }
            .input_div2 input
            {
                 150px;
            }
        </style>
    </head>
    <body>
        <div id="table_target" style=" 600px; height: 500px;">
            <span id="student">学生成绩表</span>
            <table id="table_">
                <tr>
                    <td>姓名</td>
                    <td>java</td>
                    <td>java_web</td>
                    <td>python</td>
                </tr>
                <tr>
                    <td>冯磊</td>
                    <td>80</td>
                    <td>90</td>
                    <td>100</td>
                </tr>
                <tr id="trt">
                    <td>王五</td>
                    <td>100</td>
                    <td>100</td>
                    <td>100</td>
                </tr>
            </table>
            <hr style="border: 2px solid orange;margin-top: 18px;">
            <form id="information">
                <div class="input_div">
                    <span class="input_name">姓名:</span><input id="a" type="text">
                </div>
                <div class="input_div">
                    <span class="input_name">java:</span><input id="b" type="text">
                </div>
                <div class="input_div">
                    <span class="input_name">jweb:</span><input id="c" type="text">
                </div>
                <div class="input_div">
                    <span class="input_name">pytn:</span><input id="d" type="text">
                </div>
            </form>
            <form>
                <div class="input_div2">
                <input type="button" value="修改" onclick="modify_information()">
                </div>
                <div class="input_div2">
                <input type="button" value="插入" onclick="insert_information()">
                </div>
                <div class="input_div2">
                <input type="button" value="删除" onclick="delete_information()">
                </div>
                <div class="input_div2">
                <input type="reset" value="清空" onclick="clear_information()">
                </div>
            </form>
            <hr style="border: 2px solid orange;margin-top: 18px;">
        </div>
    </body>
    <script language="javascript">
            function modify_information()
            {
                //获取信息
                var td1 = document.getElementById("a");
                var td2 = document.getElementById("b");
                var td3 = document.getElementById("c");
                var td4 = document.getElementById("d");
                var td_c = new Array(4);
                td_c[0]=td1;
                td_c[1]=td2;
                td_c[2]=td3;
                td_c[4]=td4;
                //得到所有行
                var data = document.getElementById("table_").rows;
                //得到所有列
                var columns = document.getElementById("table_").rows.item(0).cells;
                var flag = false;  //标志位
                for (var i = 1; i < data.length; i++) 
                {
                    for (var j = 0; j < td_c.length; j++) 
                    {
                        if (data[i].cells[j] == td_c[j]) 
                        {
                            flag = true;
                            break;
                        }
                    }        
                    if (flag == true) 
                    {
                        for (var j = 0; j < td_c.length; j++)
                        {
                            data[i].cells[j] = td_c[j];
                        }
                        break;
                    }
                }
                if (flag == false) 
                    alert("信息未修改,请重新输入!");
            }
            function insert_information()
            {
                //获得表单值
                var td1 = document.getElementById("a").value;
                var td2 = document.getElementById("b").value;
                var td3 = document.getElementById("c").value;
                var td4 = document.getElementById("d").value;
                //标志位用来判断是否重复,广度优先遍历的思想
                var flag = false;
                //去重复插入
                var data = document.getElementById("table_").rows;
                for (var i = 1; i < data.length; i++) {
                    if (td1 == data[i].cells[0].innerHTML) 
                        flag = true;
                }
                if (isNaN(td2) || isNaN(td3) || isNaN(td4)) 
                {
                    alert("输入格式错误,请输入数字!");
                }
                else if ((td2 < 0 || td2 > 100) || (td3 < 0 || td3 > 100) || (td4 < 0 || td4 > 100)) 
                {
                    alert("请输入0~100之间的有效成绩!");
                }
                else if (flag == true) 
                {
                    alert("已经有该同学的信息了!");
                }
                else if (td1 != "" && td2 != "" && td3 != "" && td4 != "") 
                {
                    //生成DOM结点 tr , td
                    var td_1 = document.createElement("td");
                    var td_2 = document.createElement("td");
                    var td_3 = document.createElement("td");
                    var td_4 = document.createElement("td");
                    var tr = document.createElement("tr");
                    //为DOM结点赋值
                    td_1.innerHTML = td1;
                    td_2.innerHTML = td2;
                    td_3.innerHTML = td3;
                    td_4.innerHTML = td4;
                    //将td加入到tr中去
                    tr.appendChild(td_1);
                    tr.appendChild(td_2);
                    tr.appendChild(td_3);
                    tr.appendChild(td_4);
                    //将tr加入到table中去
                    document.getElementById("table_").appendChild(tr);
                }
                else
                {
                    alert("请入数据!!!");
                }
            }
            function delete_information()
            {
                //获取信息
                var td1 = document.getElementById("a").value;
                var flag = false;
                //得到所有td
                var data = document.getElementById("table_").rows;
                for (var i = 1; i < data.length; i++) {
                    if (td1 == data[i].cells[0].innerHTML) 
                    {
                        flag = true;
                        document.getElementById("table_").deleteRow(i);
                    }
                }
                if (flag == false) 
                    alert("没有该同学的信息");
            }
            function clear_information()
            {
                //获得表单值
                document.getElementById("a").value="";
                document.getElementById("b").value="";
                document.getElementById("c").value="";
                document.getElementById("d").value="";
            }
    /*
    js的表格对象:
    //表格行数 
        法1.var rows = document.getElementById("example_table").rows.length; 
        法2.
        //获取表格中的所有行的结点(tr....tr数据),返回值是数组
        var data = document.getElementById("example_table").rows;
         //获得所有行的数目(tr的数目) 
        var length = data.length; 
        //表格列数 ,item是获取表格中的一个条目(这里是一行)
        法1:
        var cells = document.getElementById("example_table").rows.item(0).cells.length; 
        法2:
        //获取表格中的所有行的结点(tr....tr数据),返回值是数组
        var data = document.getElementById("example_table").rows;
        //获取列数
        var cells = data[0].cells.length;
    //表格对象的方法 table的方法
        createCaption()    为表格创建一个 caption 元素。
        createTFoot()    在表格中创建一个空的 tFoot 元素。
        createTHead()    在表格中创建一个空的 tHead 元素。
        deleteCaption()    从表格删除 caption 元素以及其内容。
        deleteRow(行号)        从表格删除一行。
        deleteTFoot()    从表格删除 tFoot 元素及其内容。
        deleteTHead()    从表格删除 tHead 元素及其内容。
        insertRow(行号)        在表格中插入一个新行。
        //insertRow(行号i)  是插入在第i行前面一行,if i==表格行数,会将该数据插入到该表格的最后一行
        //插入举例
        function insRow(id) {
          //在表格的第三行前插入一行数据 x指向这一行
          var x = document.getElementsByName("table").insertRow(3);
          //给该行插入列和列的数据
          var y = x.insertCell(0);
          var z = x.insertCell(1);
          y.innerHTML = z.innerHTML = "ppp";
        }
        //也可以用DOM来操作表格对象
    */
        </script>
    </html>

    结果截图:

     

  • 相关阅读:
    如何将windows版的vim界面语言(默认为中文)设置成英文(转)
    hdu 1023 Train Problem II 完整高精度模板(以输出大Catalan为例)
    第三届蓝桥杯预赛真题解答
    hdu 1016 Prime Ring Problem (dfs)
    博客搬家
    void main()是错的!
    c,c++产生随机数详解
    高性能网站的十四条黄金法则
    云端
    jQuery Tools:Web开发必备的 jQuery UI 库
  • 原文地址:https://www.cnblogs.com/nanfengnan/p/15358715.html
Copyright © 2020-2023  润新知