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>
  • 相关阅读:
    redis 系列27 Cluster高可用 (2)
    redis 系列26 Cluster高可用 (1)
    redis 系列25 哨兵Sentinel (高可用演示 下)
    redis 系列24 哨兵Sentinel (中)
    redis 系列23 哨兵Sentinel (上)
    (网页)jQuery判断checkbox是否选中的方法
    (后端)swagger
    (其他)2018下半年目标
    (后端)Sql Server日期查询-SQL查询今天、昨天、7天内、30天(转)
    (网页)HTML中INPUT type="date"标签如何赋值注意问题(转)
  • 原文地址:https://www.cnblogs.com/dfyg-xiaoxiao/p/7213784.html
Copyright © 2011-2022 走看看