zoukankan      html  css  js  c++  java
  • Jquery Table 的基本操作

    Jquery 操作 Html Table 是很方便的,这里对表格的基本操作进行一下简单的总结。

    首先建立一个通用的表格css 和一个 表格Table:

    复制代码
    table
    {
        border-collapse: collapse;
        border-spacing: 0;
        margin-right: auto;
        margin-left: auto;
         800px;
     }
     th, td
     {
        border: 1px solid #b5d6e6;
        font-size: 12px;
        font-weight: normal;
        text-align: center;
        vertical-align: middle;
        height: 20px;
     }
     th
     {
        background-color: Gray;
     }   
    复制代码
    复制代码
    <table>
            <tr>
                <th style=" 160px;">表头一</th>
                <th style=" 160px;">表头二 </th>
                <th style=" 160px;">表头三</th>
                <th style=" 160px;">表头四</th>
                <th style=" 160px;">表头五</th>
            </tr>
            <tr>
                <td>第一行第一列</td>
                <td>第一行第二列</td>
                <td>第一行第三列</td>
                <td>第一行第四列</td>
                <td>第一行第五列</td>
            </tr>
            <tr>
                <td>第二行第一列</td>
                <td>第二行第二列</td>
                <td>第二行第三列</td>
                <td>第二行第四列</td>
                <td>第二行第五列</td>
            </tr>
            <tr>
                <td>第三行第一列</td>
                <td>第三行第二列</td>
                <td>第三行第三列</td>
                <td>第三行第四列</td>
                <td>第三行第五列</td>
            </tr>
            <tr>
                <td>第四行第一列</td>
                <td>第四行第二列</td>
                <td>第四行第三列</td>
                <td>第四行第四列</td>
                <td>第四行第五列</td>
            </tr>
    </table>
    复制代码

    一、鼠标移动到行更换背景色:

    增加一个css样式:

    .hover
    {
      background-color: #cccc00;
    }

    Js脚本:

    复制代码
    $(document).ready(function () {
        //鼠标移动到行变色,单独建立css类hover
        //tr:gt(0):表示获取大于 tr index 为0 的所有tr,即不包括表头
        $("#table1 tr:gt(0)").hover(
        function () { $(this).addClass("hover") },
        function () { $(this).removeClass("hover") })
    });
    复制代码

     结果执行结果:

    二、 表格奇偶行变色 :

    奇数行和偶数行css:

    .odd{ background-color: #bbf;}
    .even{ background-color:#ffc; }

     Js脚本:

    复制代码
    $(document).ready(function () {
        //奇偶行不同颜色
        $("#table2 tbody tr:odd").addClass("odd"),
        $("#table2 tbody tr:even").addClass("even")
        //或者
        //$("#table2 tbody tr:odd").css("background-color", "#bbf"),
        //$("#table2 tbody tr:even").css("background-color", "#ffc")
    });
    复制代码

     结果显示:

     

    三、基本操作:

    (1)删除行,比如删除表格中的第二行:

    //删除指定行(第二行)
     $("#table3 tr:gt(0):eq(1)").remove();

     (2)删除列,比如删除表格中的第二列:

    //eq:获取子元素索引从 0 开始,先删除表头
    $("#table3 tr th:eq(1)").remove();
    //nth-child:获取子元素从 1 开始
    $("#table3 tr td:nth-child(2)").remove();

     (3)删除其它行,比如第二行之外的所有行:

     $("#table3 tr:gt(0):not(:eq(1))").remove();

     (4)删除其它列,比如第二列之外的所有列:

    //先删除表头
    $("#table3 tr th:not(:eq(1))").remove();
    $("#table3 tr td:not(:nth-child(2))").remove();

     (5)隐藏行,比如隐藏第二行:

     $("#table3 tr:gt(0):eq(1)").hide();
    //或者
    //$("#table3 tr:gt(0):eq(1)").css("display", "none")
    //显示
    //$("#table3 tr:gt(0):eq(1)").css("display", "");

     (6)隐藏列,比如隐藏第二列:

    复制代码
     $("#table3 tr th:eq(1)").hide();
     $("#table3 tr td:nth-child(2)").hide();
    //或者
    //$("#table3 tr th:eq(1)").css("display", "none");
    //$("#table3 tr td:nth-child(2)").css("display", "none");
    //显示
    //$("#table3 tr th:eq(1)").css("display", "");
    //$("#table3 tr td:nth-child(2)").css("display", "");
    复制代码

    (7)插入新行,在表格最后的位置:

    var newRow = "<tr style="background:red;"><td>新行第一列</td><td>新行第二列</td><td>新行第三列</td><td>新行第四列</td><td>新行第五列</td></tr>";
    $("#table3 tr:last").after(newRow);

    (8)插入行,在第二行之后插入:

    var newRow = "<tr style="background:red;"><td>新行第一列</td><td>新行第二列</td><td>新行第三列</td><td>新行第四列</td><td>新行第五列</td></tr>";
    $("#table3 tr:gt(0):eq(1)").after(newRow);

     (9)获得单元格的值,比如第二行第三列:

    var v = $("#table3 tr:gt(0):eq(1) td:eq(2)").text();
    //结果显示:第二行第三列

    (10)获取一列的所有值,比如第二列:

    var v = "";
     $("#table3 tr td:nth-child(2)").each(function () {
            v += $(this).text()+" ";
    });
    //结果:第一行第二列  第二行第二列  第三行第二列  

    (11)获取一行的所有值,比如第二行:

     var v = "";
     $("#table3 tr:gt(0):eq(1) td").each(function () {
            v += $(this).text() + " ";
     });
    //结果:第二行第一列  第二行第二列  第二行第三列  第二行第四列  第二行第五列 

    (12)合并行单元格 比如合并 第二行第二个和第三个单元格:

    $("#table3 tr:gt(0):eq(1) td:eq(1)").attr("colspan", 2);
    $("#table3 tr:gt(0):eq(1) td:eq(2)").remove();

    (13)拆分行单元格将上面合并的单元格还原:

    //注意不能使用
    //$("#table3 tr:gt(0):eq(1) td:eq(1)").removeAttr("colspan");
     $("#table3 tr:gt(0):eq(1) td:eq(1)").attr("colspan", 1);
     $("#table3 tr:gt(0):eq(1) td:eq(1)").after("<td>第二行第三列</td>")

    (14)合并列单元格,比如合并第二列第二个单元格和第三个单元格

    $("#table3 tr:gt(0):eq(1) td:eq(1)").attr("rowspan", 2);
    $("#table3 tr:gt(0):eq(2) td:eq(1)").remove();

    (15)拆分列单元格,比如将上面刚合并的单元格还原:

     $("#table3 tr:gt(0):eq(1) td:eq(1)").attr("rowspan", 1);
    //在下面行第一个单元格后插入单元格
     $("#table3 tr:gt(0):eq(2) td:eq(0)").after("<td>第三行第二列</td>");

    (16)为每个单元格增加点击事件,并弹出该单元格行索引和列索引:

    复制代码
    $(document).ready(function () {
        //点击#table3 的单元格返回 单元格索引
        $("#table3 td").click(function () {
            var tdSeq = $(this).parent().find("td").index($(this));
            var trSeq = $(this).parent().parent().find("tr").index($(this).parent());
            alert("第" + (trSeq) + "行,第" + (tdSeq+1) + "列");
        })
    });
    复制代码

    --= 源 码 下 载 =--

    作者:Rising Sun
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    C# 文件类的操作---删除
    C#实现Zip压缩解压实例
    UVALIVE 2431 Binary Stirling Numbers
    UVA 10570 meeting with aliens
    UVA 306 Cipher
    UVA 10994 Simple Addition
    UVA 696 How Many Knights
    UVA 10205 Stack 'em Up
    UVA 11125 Arrange Some Marbles
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/asdyzh/p/9758334.html
Copyright © 2011-2022 走看看