JavaScript 实现表格隔行变色

JavaScript 实现表格隔行变色

  版权声明:未经授权,严禁分享!  

构建界面

界面HTML代码
<style>
    #data,th,td{
        border: 1px solid #aaaaaa;
        /*合并边框线*/
        border-collapse: collapse;
    }
    #data{
        width: 600px;
    }
    #data th{
        background: aquamarine;
        color: white;
    }
</style>

<table id="data">
    <thead>
    <tr>
        <th>姓名</th>
        <th>工资</th>
        <th>入职时间</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>Tom</td>
        <td>$3500</td>
        <td>2015-8-20</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Jack</td>
        <td>$3200</td>
        <td>2017-12-6</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Jayvee</td>
        <td>$6500</td>
        <td>2012-6-12</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Smith</td>
        <td>$6300</td>
        <td>2006-6-27</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Mary</td>
        <td>$1230</td>
        <td>2018-3-2</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>$4200</td>
        <td>2005-8-20</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>$3600</td>
        <td>2015-9-8</td>
        <td><button type="button">删除</button></td>
    </tr>
    </tbody>
</table>

  

 

使用 HTML 方式查找元素

首先在 HTML 界面添加样式

.blue{
        background: bisque;
    }

编写JavaScript脚本文件

// 查找所有的行,各行变色 假如偶数行变色
// 查找 tbody 中所有的 tr,然后隔行变色。
// 使用 HTML方式查找元素。

var table = document.getElementById("data");
var tbody = table.getElementsByTagName("tbody")[0];
var tr = tbody.getElementsByTagName("tr");
for (var i = 0, len = tr.length; i < len; i++) {
    if (i % 2 == 1) {
        tr[i].className="blue";
    }
}

  

 

 使用选择器查找
// 使用选择器查找
var trs = document.querySelectorAll("#data tbody tr:nth-child(2n)")
for (var i = 0; i < trs.length; i++) {
    trs[i].className = "blue"
}

 

 案例完整代码

 HTML

<style>
    #data,th,td{
        border: 1px solid #aaaaaa;
        /*合并边框线*/
        border-collapse: collapse;
    }
    #data{
        width: 600px;
    }
    #data th{
        background: aquamarine;
        color: white;
    }

    .blue{
        background: bisque;
    }

    /*css方式隔行变色*/
    /*#data tbody tr:nth-child(even){*/
        /*background: bisque;*/
    /*}*/

    /*#data tbody tr:nth-child(2n){*/
    /*background: bisque;*/
    /*}*/

</style>

<table id="data">
    <thead>
    <tr>
        <th>姓名</th>
        <th>工资</th>
        <th>入职时间</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>Tom</td>
        <td>$3500</td>
        <td>2015-8-20</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Jack</td>
        <td>$3200</td>
        <td>2017-12-6</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Jayvee</td>
        <td>$6500</td>
        <td>2012-6-12</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Smith</td>
        <td>$6300</td>
        <td>2006-6-27</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Mary</td>
        <td>$1230</td>
        <td>2018-3-2</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>$4200</td>
        <td>2005-8-20</td>
        <td><button type="button">删除</button></td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>$3600</td>
        <td>2015-9-8</td>
        <td><button type="button">删除</button></td>
    </tr>
    </tbody>
</table>


<script src="mJS.js"></script>

JavaScript

// // 查找所有的行,各行变色 假如偶数行变色
// // 查找 tbody 中所有的 tr,然后隔行变色。
// // 使用 HTML方式查找元素。
//
// var table = document.getElementById("data");
// var tbody = table.getElementsByTagName("tbody")[0];
// var tr = tbody.getElementsByTagName("tr");
// for (var i = 0, len = tr.length; i < len; i++) {
//     if (i % 2 == 1) {
//         tr[i].className="blue";
//     }
// }


// 使用选择器查找
var trs = document.querySelectorAll("#data tbody tr:nth-child(2n)")
for (var i = 0; i < trs.length; i++) {
    trs[i].className = "blue"
}

效果图

  

 

转载于:https://www.cnblogs.com/wjw1014/p/8985152.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值