zoukankan      html  css  js  c++  java
  • 使用JS创建表格以及隔行换色(包括隔N行换色)

    <html>
    <head>
        <title></title>
        <style>
            table{
                width:800px;
                border-collapse:collapse;
                border:1px solid #9BC2E0;
            }
            table td,th{
                width:120px;
                height:30px;
                font-size:13px;
                border:1px solid #9BC2E0;
            }
            tr.even{
                background:red;
            }
            tr.odd{
                background:blue;
            }
        </style>
        <script>
            
            window.onload = function createTable(){
            
                var table = document.getElementById('tableId');
                var tbody = document.createElement('tbody');
                var k = 0;
                //创建表格
                for(var i = 0;i < 25;i ++){
                    var tr = document.createElement('tr');
                    for(var j = 0;j < 5;j ++){
                        var td = document.createElement('td');
                        var text = document.createTextNode(k ++);
                        td.appendChild(text);
                        tr.appendChild(td);
                    }
                    tbody.appendChild(tr);
                }            
                table.appendChild(tbody);
                
                //隔N=3行换色,其中不包括首行
                var trs = table.getElementsByTagName('tr');
                for(var i = 1,len = trs.length;i < len;i ++){
                    /*if(i&1){
                        trs[i].className ='even';
                    }else{
                        trs[i].className = 'odd';
                    }*/
                    var j = parseInt((i - 1)/3);//隔N行
                    if(j&1){
                        trs[i].style.backgroundColor='#0f0';
                    }else{
                        trs[i].style.backgroundColor='#f00';
                    }
                }
            //事件委托
                table.onclick = function(e){
                    //ie与firefox获取事件不同
                    var event = e || window.event;
                    var td = event.target || event.srcElement;
                    if(td.tagName === 'TD'){
                        alert(td.innerHTML);
                    }
                };
    }
    </script> </head> <body> <table id="tableId"> <thead> <tr> <th>head 1</th> <th>head 2</th> <th>head 3</th> <th>head 4</th> <th>head 5</th> </tr> </thead> </table> </body> </html>

    备注:关于创建表格的方式的另一种写法(提升性能):

              var table = document.getElementById('tableId');
                var tbody = document.createElement('tbody');
                var k = 0;
                //创建表格
                //createDocumentFragment:创建文档碎片节点
                var tbodydf = document.createDocumentFragment();
                var trdf = document.createDocumentFragment();
                for(var i = 0;i < 25;i ++){
                    var tr = document.createElement('tr');
                    for(var j = 0;j < 5;j ++){
                        var td = document.createElement('td');
                        var text = document.createTextNode(k ++);
                        td.appendChild(text);
                        trdf.appendChild(td);
                    }
                    tr.appendChild(trdf);
                    tbodydf.appendChild(tr);
                }
                tbody.appendChild(tbodydf);
                table.appendChild(tbody);
  • 相关阅读:
    LoadRunner参数化&关联
    面试题
    Python---Pycharm如何直接上传自己的代码到GitHub
    深入详解美团点评CAT跨语言服务监控(九)CAT管理平台MVC框架
    深入详解美团点评CAT跨语言服务监控(八)报表持久化
    深入详解美团点评CAT跨语言服务监控(七)消息分析器与报表(二)
    深入详解美团点评CAT跨语言服务监控(六)消息分析器与报表(一)
    深入详解美团点评CAT跨语言服务监控(五)配置与数据库操作
    深入详解美团点评CAT跨语言服务监控(四)服务端消息分发
    深入详解美团点评CAT跨语言服务监控(三)CAT客户端原理
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/3803031.html
Copyright © 2011-2022 走看看