• 你不知道的创建表格


    //需求:创建一个2行3列的表格

      1.传统的做法

               function ct ( tag ) {

    return document.createElement( tag );
    }


    var table = ct( 'table' );

    var tbody = ct( 'tbody' );
    table.appendChild( tbody );

    // 开始创建行与列, 凡是涉及到行与列的循环就是两个循环嵌套
    for ( var i = 0; i < 2; i++ ) {
    // 创建行
    var tr = ct( 'tr' );
    for ( var j = 0; j < 3; j++ ) {
    // 创建单元格
    var td = ct( 'td' );
    // 加数据
    td.appendChild( document.createTextNode( ' ' ));
    // innerHTML = '&nbsp;';
    td.style.height = '100px';
    // 将 td 加入到 行中
    tr.appendChild( td );
    }
    // 将一行加入到 tbody 中
    tbody.appendChild( tr );
    }
    table.border = 1;
    table.width = 600;
    document.body.appendChild( table );



    // 2, 使用 parseHTML 的做法
    // 第一种处理办法就是拼接字符串


    var data = [
    { name: 'jim1', age: 19, gender: '男' },
    { name: 'jim2', age: 12, gender: '女' },
    { name: 'jim3', age: 13, gender: '男' },
    { name: 'jim4', age: 14, gender: '女' },
    { name: 'jim5', age: 15, gender: '男' }
    ];


    var trs = data.map(function ( v, i ) {
    // 遍历 v 中的每一个值, 拼接得到 td 的字符串
    var tmpArr = [];
    for ( var k in v ) {
    tmpArr.push( v[ k ] ); // 就是将 每一行的 name, age, gender 的值存储到数组中
    }

    return '<tr><td>' + tmpArr.join( '</td><td>' ) + '</td></tr>';
    });

    var tbody = '<tbody>' + trs.join( '' ) + '</tbody>';

    var table = parseHTML( '<table border="1">' + tbody + '</table>' );


    document.body.appendChild( table[ 0 ] );

    document.body.appendChild( ct( 'hr' ) );



     第二种处理办法就是 使用 parseHTML 当做createElement 方法用


    var table = parseHTML( '<table border="1"></table>' )[ 0 ];

    var tbody = parseHTML( '<tbody></tbody>' )[ 0 ];

    data.forEach(function ( v ) {

    var tr = parseHTML( '<tr></tr>' )[ 0 ];

    for ( var k in v ) {

    var td = parseHTML( '<td style="height: 50px; 100px" >' + v[ k ] + '</td>' )[ 0 ];

    tr.appendChild( td );
    }

    tbody.appendChild( tr );
    });

    table.appendChild( tbody );

    document.body.appendChild( table );

     

    需要引入common.js文件

                  function parseHTML ( str ) {

    var node = document.createElement( 'div' );
    node.innerHTML = str;
    var arr = [];
    arr.push.apply( arr, node.childNodes );
    return arr;

    }

        

    
    
  • 相关阅读:
    QT:不规则窗口的实现
    Sql Server (错误:7302)
    Qt源码分析之信号和槽机制
    Linux下如何发布Qt程序
    QT程序制作deb包并安装在应用程序菜单
    Another Look at Events(再谈Events)
    Qt全局热键(windows篇)(使用RegisterHotKey和句柄进行注册)
    新浪微博回归平静
    Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();
    QT中异形窗口的绘制(winEvent处理WM_NCHITTEST消息)
  • 原文地址:https://www.cnblogs.com/just123/p/5787835.html
Copyright © 2020-2023  润新知