利用js动态添加删除table行的示例代码

当需要在网页中展示和处理数据时,使用table是一种非常常见的方式。在一些场景下,需要动态地添加或删除表格行,这就需要使用JavaScript进行操作。下面是一份利用js动态添加删除table行的示例代码攻略。

1. HTML结构

首先,我们需要在HTML中定义一个table,标记好每一列的thead和tbody,并预留出一行作为模板行。

<table>
  <thead>
    <tr>
      <th>序号</th>
      <th>姓名</th>
      <th>年龄</th>
      <th></th>
    </tr>
  </thead>
  <tbody id="table-body">
    <tr class="template-row">
      <td></td>
      <td><input type="text"></td>
      <td><input type="text"></td>
      <td><button class="delete-btn">删除</button></td>
    </tr>
  </tbody>
</table>
<button id="add-btn">添加一行</button>

上面的代码中,我们为表格定义了一个id为table-body的tbody元素,用于动态添加或删除行。另外,我们还为添加按钮定义了一个id为add-btn,用于触发添加行的操作。

注意到上面的代码中,我们用了一个带有class为template-row的行作为模板行。这个行的所有内容都为空,但是我们预先在它的删除按钮上绑定了一个事件监听器,用于删除点击它的那一行。这里可以采用jQuery或者纯原生js绑定事件。

// jQuery实现删除事件的绑定
$("table").on("click", ".delete-btn", function() {
  $(this).closest("tr").remove();
});

// 原生js实现删除事件的绑定
var deleteBtns = document.querySelectorAll(".delete-btn");
for (var i = 0; i < deleteBtns.length; i++) {
  deleteBtns[i].addEventListener("click", function() {
    this.closest("tr").remove();
  });
}

2. 添加行操作

在添加一行操作时,我们需要克隆一份模板行,并清空它的内容。这个操作可以通过在原模板行上调用cloneNode方法来完成,同时还要将新行的删除按钮与删除事件进行绑定。

$("#add-btn").on("click", function() {
  var newRow = $(".template-row").clone().removeClass("template-row");
  newRow.find("input").val("");
  newRow.appendTo("#table-body");
  newRow.find(".delete-btn").on("click", function() {
    $(this).closest("tr").remove();
  });
});

// 原生js实现添加操作
var addBtn = document.querySelector("#add-btn");
addBtn.addEventListener("click", function() {
  var templateRow = document.querySelector(".template-row");
  var newRow = templateRow.cloneNode(true);
  newRow.classList.remove("template-row");
  newRow.querySelectorAll("input").forEach(function(input) {
    input.value = "";
  });
  newRow.querySelector(".delete-btn").addEventListener("click", function() {
    this.closest("tr").remove();
  });
  document.querySelector("#table-body").appendChild(newRow);
});

3. 示例说明

下面举两个操作的示例说明。

3.1 添加行

(1)点击添加按钮,会在表格最后新增一行,行的所有输入框都为空。

(2)在新添加的行中将姓名和年龄的输入框填入相应的值,新行的删除按钮也是可用的。

3.2 删除行

(1)在任何一行的删除按钮上点击一下,这一行会被即时删除。

(2)即使删除的是最后一行,添加操作也能正常地在删除后继续新增新的行。

通过以上的两个操作示例,我们可以很清楚地看到整个动态添加删除表格行的示例的基本流程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用js动态添加删除table行的示例代码 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • AJAX使用get与post模式的区别分析

    AJAX是一种前端技术,可以在不刷新整个页面的情况下向服务器发送和接收数据,从而实现异步交互。而在与服务器通信时,有两种常见的方式:使用GET和POST。 GET和POST的区别 1.数据传递方式 GET是通过URL传递参数,以问号“?”连接URL和参数,多个参数之间使用“&”分隔。 POST是通过http body传递参数,参数不会暴露在URL上。…

    JavaScript 2023年6月11日
    00
  • 详解vite+ts快速搭建vue3项目以及介绍相关特性

    详解vite+ts快速搭建vue3项目以及介绍相关特性 概述 在本篇教程中,我们将详细讲解使用vite和typescript快速搭建Vue3项目的步骤,并介绍Vue3的相关特性。 准备工作 在开始之前,需要确保你已经安装了node.js和npm包管理器。如果你没安装,可以前往官网下载安装程序。 创建项目 步骤如下:1. 打开终端,进入你想要创建项目的目录。2…

    JavaScript 2023年6月11日
    00
  • JS数组方法reverse()用法实例分析

    JS数组方法reverse()用法实例分析 reverse() 方法 reverse() 方法用于颠倒数组中元素的顺序,即实现数组的反转。 语法 array.reverse() 参数 无 返回值 被反转后的数组。 示例一 let arr = [1, 2, 3, 4, 5]; console.log("反转前的数组: ", arr); ar…

    JavaScript 2023年5月27日
    00
  • JavaScript实现流星雨效果的示例代码

    下面是详细讲解。 JavaScript实现流星雨效果的示例代码 流星雨效果是一种非常炫酷的页面特效,让网页看起来十分动感和有趣。通过JavaScript实现流星雨效果,可以让页面更加具有交互性和视觉效果。 下面是实现流星雨效果的完整攻略,包含代码示例和说明。 步骤一:添加HTML结构 首先,我们需要给HTML页面添加一个容器元素,用于显示流星雨效果。以下是H…

    JavaScript 2023年6月10日
    00
  • Javascript中函数分类&this指向的实例详解

    Javascript中函数分类&this指向的实例详解 函数的分类 Javascript中的函数可大致分为以下几类: 1. 全局函数 全局函数是位于全局作用域下的函数,可以被任何地方调用到,其定义方式如下: function funcName() { // 函数体 } 2. 对象方法 对象方法是位于对象中的函数,其可以访问对象中的属性或方法,其定义方…

    JavaScript 2023年5月27日
    00
  • layui-laydate时间日历控件使用方法详解

    以下是关于“layui-laydate时间日历控件使用方法详解”的完整攻略: layui-laydate时间日历控件使用方法详解 简介 layui-laydate是layui前端框架中的一种日期时间选择控件,它具有丰富的功能,例如选择日期时间范围、自定义格式、快速选择等,还支持各种主题风格样式。 安装 在使用layui-laydate之前,需要先引入layu…

    JavaScript 2023年6月10日
    00
  • js自动生成对象的属性示例代码

    下面我来详细讲解一下”js自动生成对象的属性示例代码”的攻略。 标题 首先,在回答问题之前,我们需要在语句前加上标题。此篇题目的正确标题应该是: js自动生成对象的属性示例代码完整攻略 描述 对象是JavaScript中的重要组成部分,我们可以使用Object关键字创建对象,在对象中定义一些属性。而有时候我们需要自动化地生成对象或者定义对象的属性。那么如何实…

    JavaScript 2023年6月11日
    00
  • 使用AngularJS和PHP的Laravel实现单页评论的方法

    使用AngularJS和PHP的Laravel实现单页评论的方法 概述 本攻略将介绍如何使用AngularJS和PHP的Laravel框架实现单页评论,并且数据是实时响应的。通过本攻略,读者可以学习到AngularJS在前端的应用,以及Laravel框架在后端的应用。 前端实现 1. 引入AngularJS 在页面中引入AngularJS的JS文件,可以从A…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部