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

yizhihongxing

当需要在网页中展示和处理数据时,使用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日

相关文章

  • JavaScript高级程序设计(第3版)学习笔记12 js正则表达式

    下面是详细的攻略: JavaScript高级程序设计(第3版)学习笔记12 js正则表达式 简介 本篇学习笔记介绍JavaScript正则表达式的基础知识,包括正则表达式的定义、创建、元字符、模式修饰符、贪婪与非贪婪匹配、匹配位置等知识点。 正则表达式的定义 正则表达式是一种用来匹配字符串模式的方法,它由一个或多个字符和特殊字符组成,表示一种模式,用于与字符…

    JavaScript 2023年6月10日
    00
  • 全面理解JavaScript中的闭包

    闭包(Closure)是JavaScript中非常重要的一个概念,由于其灵活性和特殊性,很多初学者和部分开发者难以理解。理解闭包的概念对于攻克JavaScript的高级知识和框架有很大帮助。下面是全面理解JavaScript中的闭包的完整攻略: 一、什么是闭包 闭包指的是能够访问自由变量(非全局变量,即在外层函数中定义的变量)的函数。换句话说,如果一个函数内…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript的函数简介

    详解JavaScript的函数简介 在 JavaScript 中,函数是一种重要的概念。函数是将代码封装成一个可执行的容器,可以通过调用函数来执行其中的代码。本文将详细介绍 JavaScript 函数的基本语法、定义方式、参数传递、值返回和作用域。 函数的基本语法 函数有以下基本语法: function functionName(parameters) { …

    JavaScript 2023年5月17日
    00
  • Javascript点击其他任意地方隐藏关闭DIV实例

    好的。您想实现的效果是当用户在页面上点击除某个指定的div以外的其它任何地方时,可以将该指定的div隐藏起来。实现这个功能可以使用JavaScript。 下面是实现该功能的完整攻略: 1.在HTML中添加div元素 首先,在HTML文档中添加包含需要隐藏的内容的div元素。例如,下面的代码创建一个div元素: <div id="myDiv&q…

    JavaScript 2023年6月11日
    00
  • java变量和javascript变量之间的传递示例

    我来为你详细讲解一下“Java变量和JavaScript变量之间的传递示例”的完整攻略。 1. Java变量传递给JavaScript 首先,我们需要了解一下Java和JavaScript的基本数据类型之间的对应关系,下面是一个简单的对比: Java JavaScript byte number short number int number long nu…

    JavaScript 2023年6月11日
    00
  • javascript强大的日期函数代码分享

    JavaScript强大的日期函数代码分享 日期和时间是我们在开发Web应用中最常用到的一个组件,JavaScript提供了丰富的API让我们更加便捷地处理日期和时间。下面将分享一些常用的日期函数及其代码实现。 Date对象 JavaScript中内置的Date对象提供了一些常用的处理日期和时间的方法,其中比较常用的有以下几个方法: getFullYear(…

    JavaScript 2023年5月27日
    00
  • js中json处理总结之JSON.parse

    JSON.parse() 是 JavaScript 中一个用于将 JSON 字符串转换成 JavaScript 对象的方法,它的语法如下: JSON.parse(text [, reviver]) 其中,text 是要转换的 JSON 字符串;reviver 是一个可选的转换函数,用于对最终生成的对象进行处理。 当我们从后台或其他来源获取到 JSON 数据时…

    JavaScript 2023年5月27日
    00
  • JavaScript中Array的filter函数详解

    JavaScript中的Array对象提供了一个filter方法,该方法可以用于在数组中过滤出符合条件的元素。本文将详细介绍该方法的使用方法。 Array的filter函数详解 语法 array.filter(function(currentValue, index, arr), thisValue) 参数 function(currentValue, in…

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