zoukankan      html  css  js  c++  java
  • javaScript之表格操作<一:新增行>

    DOM表格系列操作

     

    /**
     * 添加表格行
     * @function 本接口可以用于:在表格tbody部分新增任意数量,任意样式的行HTML结构;
     * @name addTableLines
     * @author zengtai
     * @date 2017-07-29
     * @dependce 支持IE 8.0及以上;不依赖于其他jaavscript库
     *
     * @param TableId[指定类型:string]
     * @param TdOptions[tds配置项:td单元格内部需要填充的html元素或者数据等;格式见下面tdOptions的Demo] 
     * @param tdNumber[新增行的单元格数:指定类型:number]
     * @param lineNumber[新增行数:指定类型:number]
     *
     * @notice 本函数仅对tbody部分进行操作。
     * @notice 为了再次确认调用方的td需要的的数目,所以TdOptions.number的数据必须与tdNumber保持一致
     */
    //     tdOptions Demo
    //  var tdOptions = {
    //     number:2,//td单元格的数量
    //     tds:["<input type='text' class='form-control'>","<a href='#' class='btn btn-danger'>删除</a>"]
    // }
    function addTableLines(tableId, TdOptions, tdNumber, lineNumber) {
        //检验参数齐全性
        if (arguments.length != 4 || (typeof(tableId) != 'string') || (typeof(TdOptions) != 'object') || (typeof(tdNumber) != 'number') || (typeof(lineNumber) != 'number')) {
            throw new Error("Arguments is not qualified!");
        }
        //检验TdOptions与配置项TdOptions.number的数据是否一致,如果不一致,说明有问题。
        if (TdOptions.number != tdNumber) {
            throw new Error("TdOptions.number 与 tdNumber的数据不一致!");
        }
    
        var tableNode = document.getElementById(tableId);
        var tbody = tableNode.getElementsByTagName('tbody')[0];
    
        for (var i = 0; i < lineNumber; i++) { //
            var newLine = document.createElement("tr");
    
            for (var j = 0; j < tdNumber; j++) { //行内单元格
                var newTd = document.createElement("td");
                newTd.innerHTML = TdOptions.tds[j]; //此方法支持IE8.0及其以上
                newLine.insertBefore(newTd, null); //插入后成为最后一行内单元格个子节点    
            }
    
            tbody.appendChild(newLine); //插入后成为tbody的最后一个行子节点    
        }
        return tableNode;
    }

      效果图:

      点击增加后:

  • 相关阅读:
    委托、Lamda表达式
    springcloud-feign的hystrix支持
    springcloud-断路器hystrix
    Java原子性、可见性、内存模型
    volatile特性
    synchronized实现可见性
    Js四则运算精度问题处理
    docker 简单安装java web项目
    elasticsearch 分布式集群搭建
    logstash-input-jdbc同时同步多个表
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/7256259.html
Copyright © 2011-2022 走看看