zoukankan      html  css  js  c++  java
  • 利用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>json数组转成表格</title>
            <meta http-equiv="content-type" content="text/html;charset=gb2312">
            <style type="text/css">
            caption {
                    padding: 0 0 5px 0;
                     450px;
                    font: italic 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
                    text-align: right;
                    }
            td {
                border:1px solid #c1dad7;
                
                padding: 6px 6px 6px 12px;
                color: #4f6b72;
                text-align: center;
                150px;
                }
            </style>
            <script type="text/javascript">
           var data=[{name:'xiaoxiao',age:12,gender:'male'},{name:'xiao',age:22,gender:'male'},{name:'hh',age:12,gender:'female'},{name:'ran',age:20,gender:'female'}];
            
            //网页加载完成后执行该onload事件
    onload = function(){
                var body=document.getElementsByTagName('body')[0];
                body.appendChild(createTable(data));
            };
            
            //根据传入的json数组创建表格
            var createTable = function(data){

                //定义表格
                var table=document.createElement('table');
                table.setAttribute('style',' 450px;');

                //定义表格标题
                var caption=document.createElement('caption');
                caption.innerHTML ='学生信息表';

                //将标题添加进表格
                table.appendChild(caption);
                //调用createTr()方法生成标题行并将其添加到table中。
                table.appendChild(createTr('姓名','年龄','性别'));
                table.childNodes[1].setAttribute('style','background:#cae8ea;');
                //alert(table.firstChild);
                //for循环json对象,然后将循环到的对象通过createTr()方法生成行,添加到table中
                for(var i=0;i<data.length;i++){
                    table.appendChild(createTr(data[i].name,data[i].age,data[i].gender));
                }
                return table;
            };   

            
            //根据用户传过来的变量生成表格中行的方法
            var createTr = function(name,age,gender){
                //定义行元素标签
                var tr=document.createElement('tr');
                //定义列元素标签
                var tdName=document.createElement('td');
                //设置该列节点的文本节点的值
                tdName.innerHTML = name;
                var tdAge = document.createElement('td');
                
                tdAge.innerHTML = age;
                var tdGender = document.createElement('td');
                
                tdGender.appendChild(document.createTextNode(gender));//等价与 tdGender.innerHTML = gender;
                //将列值添加到行元素节点
                tr.appendChild(tdName);
                tr.appendChild(tdAge);
                tr.appendChild(tdGender);
                
                //返回生成的行标签
                return tr;
            };
            </script>
        </head>
        <body>
        </body>
    </html>
  • 相关阅读:
    萌新入坑 实验六 团队作业2:开心农场信息系统
    萌新入坑 实验六团队作业2:开心农场信息系统
    萌新入坑 实验五 团队作业1:软件研发团队组建与软件案例分析
    实验八 团队作业4:团队项目需求建模与系统设计
    狗蛋带仨妞 实验七 团队作业3:团队项目需求分析与原型设计
    狗蛋带仨妞 实验六 团队作业2:开心农场信息系统
    狗蛋带仨妞 实验五 团队作业1:软件研发团队组建与软件案例分析
    nginx 配置参数详细说明
    mac清除launchpad 应用程序和图标
    CentOS 7.5在线安装Docker 18.09.3
  • 原文地址:https://www.cnblogs.com/dfyg-xiaoxiao/p/7213784.html
Copyright © 2011-2022 走看看