20分钟了解jQuery Table 的基本操作
沉沙 2018-05-28 来源 : 阅读 1265 评论 0

摘要:jQuery操作 Html Table 是很方便的,这里对表格的基本操作进行一下简单的总结。希望阅读本篇文章以后大家有所收获,加深大家对jQuery的理解。

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

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

table{
    border-collapse: collapse;
    border-spacing: 0;
    margin-right: auto;
    margin-left: auto;
    width: 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="width: 160px;">表头一</th>

            <th style="width: 160px;">表头二 </th>

            <th style="width: 160px;">表头三</th>

            <th style="width: 160px;">表头四</th>

            <th style="width: 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") })
});

 结果执行结果:

 20分钟了解jQuery Table 的基本操作

二、 表格奇偶行变色 :

奇数行和偶数行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")
});

 结果显示:

 20分钟了解jQuery Table 的基本操作

三、基本操作:

(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) + "列");
    })
});

 

本文由职坐标整理发布,更多相关内容,请关注职坐标WEB前端jQuery频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程