js之隔行换色

简介: js之隔行换色

大家好,今天来学习的是增加表单并且使他们每隔一行变色

先让大家看下下效果图

如上图所示,这就是我们今天需要完成的效果

我们先写一个表格并且修改一下他们的样式

//样式
<style>
    table {
      width: 300px;
      border: 1px #525252 solid;
    }
 
    th,
    td {
      border: 1px #525252 solid;
      text-align: center;
    }
  </style>
//表格
<table cellspacing="0">
    <thead>
      <tr>
        <th>序号</th>
        <th>内容</th>
        <th>操作</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>1</td>
        <td>data</td>
        <td>
          <button>删除</button>
        </td>
      </tr>
    </tbody>
  </table>

接下来就在js里面写时间了,先写点击增加按钮执行的操作

let but = document.getElementById('but');
    // 获取thead下标,并赋值变量,可以使后面获取到表头里面的th
    let thead = document.getElementsByTagName('thead')[0];
    // 获取tbody下标,并赋值变量,可以使后面获取到表头里面的td
    let tbody = document.getElementsByTagName('tbody')[0];
    // 给予变量赋值并储存
    let content = 100;
    // 给按钮绑定一个监听事件,监听按钮被点击时所执行的函数
    but.addEventListener('click', function () {     
      let str = "<tr>" +
        "<th>序号</th>" +
        "<th>" + content + "</th>" +
        "<th><button>删除</button></th>" +
        "</tr>";
      // 在tbody里面的内容进行+=,否则会把之前的tr覆盖,
      tbody.innerHTML += str;
      // tr里面第二个值进行递加100
      content += 100;
      // 调用下面的颜色函数
      sutcolor();
    })

接下来是判断颜色

// 创建一个用于判断表格颜色的函数
    function sutcolor() {
      // 声明一个变量并赋予他tbody里面子元素
      let trs = tbody.children;
      // for循环用于把trs从0到比trs小于一个长度按照循环一次加一的规律循环
      for (let i = 0; i < trs.length; i++) {
        // 判断当i取余2后如果是等于给予变色,否则给予白色
        if (i % 2 == 1) {
          // 把trs下标所对应的th背景颜色修改
          trs[i].style.backgroundColor = "pink";
          // 如果上面的条件不符合则执行下面的代码
        } else {
          // 把trs下标所对应的th背景颜色修改
          trs[i].style.backgroundColor = "white";
        }
        // 声明一个变量并且获取他第i个tr的第一个td
        let istd = trs[i].children[0];
        // 给予新增行序号所对应的内容
        istd.innerHTML = i + 1;
      }
    }

最后则是用于删除

// 用于删除所点击删除所对应的表格那一行tr
    tbody.addEventListener('click', function (e) {
      // 用于兼容ie低版本浏览器
      e = e || window.event;
      // 声明变量并赋值,点击那个就输出哪个用于兼容ie低版本浏览器
      let target = e.target || e.scrElement;
      // 判断当如果表格里面的内容有删除的时候如果点击了怎么做
      if (target.innerHTML == "删除") {
        // 声明一个变量,并且赋值他一个tr里面的td都包含在里面
        let trs = target.parentElement.parentElement;
        console.log(target);
        // 把tbody里面的trs一行删除
        tbody.removeChild(trs);
        // 调用函数
        sutcolor();
      }
    });

大家可以看一下,我把具体解释都写在代码里面的注释上面了,不会的看下注释哦

目录
相关文章
|
JavaScript 前端开发 索引
Javascript知识【jQuery样式操作&案例:jQuery隔行换色】
Javascript知识【jQuery样式操作&案例:jQuery隔行换色】
|
2月前
|
JavaScript
鼠标事件(点击换色)分别使用js和jQuery代码实现
鼠标事件(点击换色)分别使用js和jQuery代码实现
35 1
|
8天前
|
JavaScript
js学习--隔行换色
js学习--隔行换色
17 1
|
5月前
|
JavaScript 前端开发
js实现隔行换色
js实现隔行换色
31 2
|
4月前
|
JavaScript 容器
JS实现瀑布流布局
JS实现瀑布流布局
|
5月前
|
JavaScript 前端开发
JavaScript解决表格隔行换色的问题
JavaScript解决表格隔行换色的问题
32 0
|
5月前
|
JavaScript 前端开发
js实现走马灯效果
js实现走马灯效果
|
5月前
|
JavaScript
如何用JS实现表格隔行换色功能
如何用JS实现表格隔行换色功能
25 0
|
JavaScript 前端开发 索引
JS实现隔行换色
JS实现隔行换色
|
5月前
|
JavaScript 前端开发
JS 隔行换色
JS 隔行换色