js学习--隔行换色

简介: js学习--隔行换色

隔行换色制作

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      * {
        padding: 0;
        margin: 0;
      }
 
      td {
        width: 80px;
        height: 20px;
        text-align: center;
      }
    </style>
  </head>
  <body>
    <table border="1" cellspacing="0">
      <thead>
        <tr>
          <th>序号</th>
          <th>内容</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
          <td>100</td>
          <td><button>删除</button></td>
        </tr>
      </tbody>
    </table>
    <button class="add">添加行</button>
    <script>
      //获取添加行的按钮
      let add = document.getElementsByClassName('add')[0];
      //获取第一个tr
      let row = document.getElementsByTagName('tr')[0];
      //获取表格的身体部分
      let tbody = document.getElementsByTagName('tbody')[0];
      //获取表格里面的td
      let td = document.getElementsByTagName('td');
      //设置一个变量为100
      let num = 100;
      //给添加行的按钮添加一个点击事件
      add.onclick = function() {
          //创建一个新的tr标签
        let newtr = document.createElement('tr');
        //创建一个新的td标签
        let newtd = document.createElement('td');
        //把创建的td标签放到新创建的tr标签里面
        newtr.appendChild(newtd);
        //在创建一个新的td标签
        let data = document.createElement('td');
        //每次添加都让num+100
        num += 100;
        //把变量插入到新建的td里面
        data.innerHTML = num;
        //在把新建的td插入到tr里面
        newtr.appendChild(data);
        //在创建一个td标签
        let but_td = document.createElement('td');
        //在创建一个按钮
        let btn = document.createElement('button');
        //在往新建的按钮里面插入字符串
        btn.innerHTML = '删除';
        //打印新的tr
        console.log(newtr);
        //把新建的按钮插入到新建的td里面
        but_td.appendChild(btn);
        //在把新建的td插入到tr标签里面
        newtr.appendChild(but_td);
        //在把tr插入到表格的身体里面
        tbody.appendChild(newtr);
        //排序和换色函数
        sort();
      }
      //排序和换色函数
      function sort() {
        //创建一个变量它包含的是表格身体里面的子元素
        let trs = tbody.children;
        //for循环的运行次数是看表格身体里面有几个子元素
        for (let i = 0; i < trs.length; i++) {
          //创建一个变量让循环改变一行的第一个td里面的对西
          let istd = trs[i].children[0];
          //然后把刚才生成的变量插入的HTML里面每次运行是当前循环次数+1
          istd.innerHTML = i + 1;
          //判断i%2是否=0,如果为0这一行颜色为白色
          if (i % 2 == 0) {
            trs[i].style.background = 'white';
          } else {
            //否则为粉色
            trs[i].style.background = 'pink';
          }
        }
      }
      //给表格身体绑一个监听函数
      tbody.addEventListener('click', function(e) {
        //设置一个变量,等于e的子元素
        let target = e.target;
        //打印变量看看是否能用有没有报错
        console.log(target);
        //判断变量里面的内容是否为删除
        if (target.innerHTML == '删除') {
          //打印看是否运行
          console.log(1);
          //如果是就找它的爷爷
          let istr = target.parentElement.parentElement;
          //打印看是否执行
          console.log(istr);
          //在表格身体里面点击删除一行
          tbody.removeChild(istr);
        }
        //排序和换色函数
        sort();
      })
    </script>
  </body>
</html>

相关文章
|
4月前
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
115 2
|
5月前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
3月前
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
74 5
|
3月前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
45 2
|
3月前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
70 1
|
4月前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
54 4
js学习--制作猜数字
|
4月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
78 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
5月前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
5月前
|
JavaScript 前端开发 API
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
该文章跟随月影老师的指导,探讨了编写优质JavaScript代码的三大原则:各司其职、组件封装与过程抽象,通过具体示例讲解了如何在实际开发中应用这些原则以提高代码质量和可维护性。
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
|
4月前
|
JavaScript
js学习--制作选项卡
js学习--制作选项卡
49 4

热门文章

最新文章

  • 1
    当面试官再问我JS闭包时,我能答出来的都在这里了。
    49
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    29
  • 3
    Node.js 中实现多任务下载的并发控制策略
    34
  • 4
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 5
    【JavaScript】深入理解 let、var 和 const
    49
  • 6
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    47
  • 7
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    57
  • 8
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    57
  • 9
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    72
  • 10
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    57