• 案例:动态生成表格


    // 案例分析:
    //1.里面的学生数据都是动态的,我们需要js动态生成 这里我们模拟数据 自己定义好的数据 数据我们采取对象形式存储
    //2.所有数据都是放到tbody里面的的行里面
    //3.因为里面的行很多 我们需要循环来创建行(对应多少人)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            table {
                 500px;
                margin: 100px auto;
                border-collapse: collapse;
                /* border-collapse: collapse;设置边框是否重合 */
                text-align: center;
            }
            td,
            th {
                border: 1px solid #333
            }
    
            thead tr {
                height: 40px;
                background-color: #ccc;
            }
        </style>
    </head>
    <body>
        <table cellspacing = "0" cellpadding = "0" >
            <thead>
                <tr>
                    <th>姓名</th>
                    <th>科目</th>
                    <th>成绩</th>
                    <th>操作</th>
                </tr>
            </thead>
    
    
            <tbody>
    
            </tbody>
        </table>
    
        <script>
            // 案例分析:
                //1.里面的学生数据都是动态的,我们需要js动态生成 这里我们模拟数据 自己定义好的数据 数据我们采取对象形式存储
                //2.所有数据都是放到tbody里面的的行里面
                //3.因为里面的行很多 我们需要循环来创建行(对应多少人)
    
            //1.先准备好所需的数据
            var datas = [{
                name: '魏璎珞',
                subject: 'JavaScript',
                score: 100
            },{
                name: 'lbw',
                subject: 'JavaScript',
                score: 102
            },{
                name: 'quan',
                subject: 'JavaScript',
                score: 110
            }];
    
            //2.往tbody里面创建行 有几个人(通过数组长度)我们就创建几行
            var tbody = document.querySelector('tbody');
            for (var i = 0 ; i < datas.length ;i++) {//外面的for循环管的是行
                //创建tr行
                var tr = document.createElement('tr');
                tbody.appendChild(tr);
                //行里面创建单元格 (数据)td 单元格的数量取决于每个对象里面属性的个数 for循环遍历data[i]
                for(var k in datas[i]){
                    var td = document.createElement('td');
                    //对象里面的属性值给td
                    td.innerHTML = datas[i][k];
                    tr.appendChild(td);
                    //3.创建删除两个字的单元格
    
            }
            var td =    document.createElement('td');
            td.innerHTML = '<a href = "javascript:;">删除</a>';
            tr.appendChild(td);
            // for (var k in obj){
            //     k得到的是属性名
            //     obj[k]得到的是属性值
            // }
            }   
            //删除操作
            var as = document.querySelectorAll('a'); 
            for(var i = 0 ;i< as.length ; i++){
                as[i].onclick = function() {
                    //点击a 删除a 所在的行
                    tbody.removeChild(this.parentNode.parentNode);
                }
            }
    
          
        </script>
    </body>
    </html>
  • 相关阅读:
    正则匹配 去掉 多余的js和html标签
    把url后面的.html去掉
    lnmp下配置虚拟主机
    lnmp 下安装yaf
    yaf运行错误:Class 'Yaf_Application' not found
    项目中表中每条数据的序号显示自增的方法
    tp中让头疼似懂非懂的create
    2015.1写留言板的时用的 知识点和函数 --->总结
    环境搭建
    ercharts api
  • 原文地址:https://www.cnblogs.com/qiujie-prion/p/13042304.html
Copyright © 2020-2023  润新知