纯原生js实现table表格的增删

下面是关于纯原生JS实现table表格的增删的攻略:

实现前必备知识

在开始实现表格的增删功能之前,有几点需要准备:

  1. HTML表格的结构
  2. css样式控制
  3. 表格数据的动态绑定
  4. 监听HTML元素的事件
  5. 通过JS操作HTML元素

实现过程

  1. 首先创建一个空表格,代码如下:

```html

Name Age Gender 操作

```

  1. 接着,在JS代码里,声明一个对象数组,用于存储表格数据,例如:

javascript
const data = [
{name: '小明', age: 20, gender: '男'},
{name: '小红', age: 18, gender: '女'},
{name: '小刚', age: 22, gender: '男'}
];

  1. 通过js代码,将表格数据动态绑定到表格中,代码如下:

javascript
const tableBody = document.querySelector('#myTable tbody');
data.forEach(item => {
const tr = document.createElement('tr');
const tdName = document.createElement('td');
tdName.textContent = item.name;
const tdAge = document.createElement('td');
tdAge.textContent = item.age;
const tdGender = document.createElement('td');
tdGender.textContent = item.gender;
const tdDelete = document.createElement('td');
tdDelete.innerHTML = '<a href="javascript:;" class="delete">删除</a>';
tr.appendChild(tdName);
tr.appendChild(tdAge);
tr.appendChild(tdGender);
tr.appendChild(tdDelete);
tableBody.appendChild(tr);
});

  1. 接着,实现表格数据的添加功能。为“添加”按钮绑定事件,并通过用户输入的参数,将数据添加到表格中,代码如下:

javascript
const addBtn = document.querySelector('#addBtn');
addBtn.addEventListener('click', () => {
const name = prompt('输入姓名');
const age = parseInt(prompt('输入年龄'));
const gender = prompt('输入性别');
const tr = document.createElement('tr');
const tdName = document.createElement('td');
tdName.textContent = name;
const tdAge = document.createElement('td');
tdAge.textContent = age;
const tdGender = document.createElement('td');
tdGender.textContent = gender;
const tdDelete = document.createElement('td');
tdDelete.innerHTML = '<a href="javascript:;" class="delete">删除</a>';
tr.appendChild(tdName);
tr.appendChild(tdAge);
tr.appendChild(tdGender);
tr.appendChild(tdDelete);
tableBody.appendChild(tr);
});

  1. 最后,实现表格数据的删除功能。为“删除”按钮绑定事件,并通过JS找到所在的行,并将其从表格中移除,代码如下:

javascript
tableBody.addEventListener('click', e => {
const target = e.target;
if (target.classList.contains('delete')) {
const tr = target.parentNode.parentNode;
tableBody.removeChild(tr);
}
});

至此,纯原生JS实现table表格的增删功能的攻略就完成了。下面提供两个完整的示例说明。

示例说明

示例一

在这个示例中,我们将使用上述攻略中的代码,演示如何实现动态的增加和删除表格数据的功能。请按照以下步骤操作:

  1. 在HTML文件中添加上述的HTML代码和CSS样式。

  2. 在JS文件中添加上述的JS代码。

  3. 运行HTML文件,你会看到一个空表格。

  4. 输入数据到文本框中,并单击“添加”按钮,你将在表格中添加一行数据。

  5. 将鼠标放在“删除”按钮上,单击,你将从表格中删除该行数据。

示例二

在这个示例中,我们将展示如何对已有的表格数据进行修改的功能。请按照以下步骤操作:

  1. 在HTML文件中添加上述的HTML代码和CSS样式。

  2. 在JS文件中添加上述的JS代码。

  3. 运行HTML文件,你会看到包含了示例一中的数据的表格。

  4. 双击某个单元格,该单元格将变为可编辑状态。

  5. 输入新的值,再次双击该单元格或者按下回车键,该单元格将变为不可编辑状态,并且修改后的值也会被保存下来。

至此,两个示例完整展示了如何使用纯原生JS实现table表格的增删和修改的功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯原生js实现table表格的增删 - Python技术站

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

相关文章

  • 浅谈JSON.stringify()和JOSN.parse()方法的不同

    当我们需要在不同的系统或应用程序之间传递数据时,使用JSON(JavaScript Object Notation)是很常见的。JSON.stringify()和JSON.parse()是两个JavaScript内置函数,用于将JavaScript对象转换为JSON格式的字符串,以及将JSON格式的字符串转换回JavaScript对象。虽然它们的作用看起来相…

    JavaScript 2023年5月27日
    00
  • js面向对象之公有、私有、静态属性和方法详解

    JS面向对象之公有、私有、静态属性和方法详解 面向对象编程思想是现代编程语言的重要组成部分,在JS中同样也支持面向对象编程。在面向对象编程中,属性和方法可以被分为公有、私有、静态属性和静态方法四种类型。在本篇攻略中,我们将会详细讲解这四种类型的属性和方法。 公有属性和方法 公有属性和方法指的是可以被实例对象和类对象访问的属性和方法。在JS中可以使用this关…

    JavaScript 2023年5月27日
    00
  • MutationObserver监视对DOM 树所做更改的功能妙用

    MutationObserver是一种Web API,它可以监视对DOM树所做的更改,并在更改发生时触发回调函数。它可以监视DOM的三类更改:子节点树的更改、属性的更改以及文本内容的更改。MutationObserver的用途非常广泛,特别是在与React、Vue等前端框架结合使用时,可以帮助我们轻松地实现数据绑定、自定义指令等功能。 MutationObs…

    JavaScript 2023年6月11日
    00
  • JS数组进阶示例【数组的几种函数用法】

    JS数组进阶示例【数组的几种函数用法】是一个关于JavaScript数组的进阶教程。本教程主要介绍了数组的一些常用函数用法,可以帮助读者更好地理解和运用JavaScript数组。 目录 map()函数 reduce()函数 filter()函数 示例教程1:统计颜色 示例教程2:计算平均分 map()函数 map()函数是一种用于处理数组元素的函数,它会将数…

    JavaScript 2023年5月27日
    00
  • 有关JavaScript的10个怪癖和秘密分享

    有关JavaScript的10个怪癖和秘密分享 JavaScript是一门流行的编程语言,但相信大家在使用的过程中会遇到一些奇怪的行为和不为人知的秘密。本篇攻略将为你揭露JavaScript中的10个怪癖和秘密,希望能帮助你更好地理解和使用JavaScript。 1. 变量作用域 在JavaScript中,变量的作用域有全局作用域和函数作用域。当在函数内部声…

    JavaScript 2023年6月10日
    00
  • JS动态修改图片的URL(src)的方法

    下面是我的详细讲解“JS动态修改图片的URL(src)的方法”的完整攻略。 为什么需要动态修改图片的URL? 在前端开发中,经常会有需要在JavaScript代码中动态修改图片的URL的情况,常见的应用有: 资源懒加载:在网页加载时,只加载当前可见区域内的图片,等到用户滚动到下一个区域时再加载下一个区域内的图片,这时就需要动态修改图片的URL。 用户上传图片…

    JavaScript 2023年5月19日
    00
  • 表单验证正则表达式实例代码详解

    《表单验证正则表达式实例代码详解》是一篇关于前端表单验证的教程,主要介绍了如何使用正则表达式进行表单验证。以下是本文的完整攻略。 一、表单验证正则表达式基础 1.1 正则表达式的概念 正则表达式是一种用来描述、匹配、搜索文本的方式。通过使用正则表达式,我们可以快速有效地验证用户输入的内容是否符合规则。 1.2 常用正则表达式语法 字符匹配:使用普通字符匹配具…

    JavaScript 2023年6月10日
    00
  • JS 加载性能Tree Shaking优化详解

    JS 加载性能Tree Shaking优化详解 什么是Tree Shaking Tree shaking是一个术语,用于描述移除 JavaScript 上下文中的未引用代码(dead-code)。它依赖于ES2015模块系统中的静态结构特性,例如import和export。这个术语和概念实际上是由 ES2015 模块打包工具rollup启发而来,它是一个目前…

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