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

yizhihongxing

下面是关于纯原生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日

相关文章

  • js 动态生成json对象、时时更新json对象的方法

    生成 JSON 对象是一项常见的任务,通过 JavaScript 可以动态地生成和更新 JSON 对象。这种功能对于动态地修改网站内容非常重要,并且可以通过 AJAX 和其他技术将数据发送到服务器时使用。下面是生成 JSON 对象和时时更新 JSON 对象的方法攻略。 生成 JSON 对象 我们可以使用 JavaScript 中 JSON 对象的 strin…

    JavaScript 2023年5月27日
    00
  • JavaScript实现限时秒杀功能

    下面是“JavaScript实现限时秒杀功能”的完整攻略: 1. 确定秒杀的商品 首先要确定秒杀的商品,包括商品信息、活动时间、秒杀价格等。这些信息都需要在页面上展示出来,以便用户可以清晰地了解秒杀活动的具体内容。 2. 设计用户界面 为了让用户更好地体验秒杀活动,我们需要设计一个简洁明了的UI界面。界面要包括秒杀商品的图片、名称、原价、秒杀价、秒杀倒计时等…

    JavaScript 2023年6月11日
    00
  • javascript创建函数的20种方式汇总

    首先,我们需要明确“JavaScript创建函数的20种方式”是指通过不同的方法来创建JavaScript函数。下面将介绍其中的20种方式。 1.使用函数声明方式 函数声明方式就是使用function关键字来声明和定义函数。例如: function myFunction() { //函数体 } 2.使用函数表达式方式 函数表达式方式是使用函数字面量来创建函数…

    JavaScript 2023年5月27日
    00
  • JS实现表单中点击小眼睛显示隐藏密码框中的密码

    当用户在表单中输入密码时,通常会提供一个“显示密码”的选项,这使得用户可以查看其输入的密码而不必担心输错。下面是一些使用JavaScript实现显示密码选项的攻略。 第一步:HTML结构 首先,我们需要创建一个包含密码和复选框的HTML结构。在密码输入框后面放置一个复选框,在复选框后面标注“显示密码”。以下是HTML代码示例: <label> P…

    JavaScript 2023年6月10日
    00
  • js怎么终止程序return不行换jfslk

    JS中终止程序有多种方式,但是通过return语句来终止程序是比较常见和方便的方法。如果使用return无法终止程序,可能是由于函数嵌套、异步操作等原因,下面我们来详细讲解如何解决。 函数嵌套 当函数嵌套的时候,使用return只能终止当前函数的执行,而不能终止外层函数的执行。这时需要使用return语句和一个标识符来协同工作,让外层函数在适当的时候捕获这个…

    JavaScript 2023年5月27日
    00
  • js 性能优化之算法和流程控制

    JS性能优化之算法和流程控制 优化JS代码是提升Web应用性能的重要手段之一。在处理算法和流程控制方面,我们可以进行一些优化,来使我们的代码更高效。 算法优化 选择合适的数据结构 在处理大量数据的情况下,选择合适的数据结构非常重要。例如,在需要快速查找大量数据的情况下,应选择哈希表等查找性能高效的数据结构。在需要频繁添加或删除数据的情况下,应选择链表等插入和…

    JavaScript 2023年5月27日
    00
  • 带你彻底搞懂JavaScript的事件流

    带你彻底搞懂JavaScript的事件流 JavaScript的事件流是指浏览器中各个元素接收事件的顺序。该过程包含了三个阶段:捕获阶段、目标阶段和冒泡阶段。在理解了JavaScript的事件流后,可以更加深入地理解JavaScript的DOM操作和事件处理。 捕获阶段 在捕获阶段,事件从文档的根节点向下传递,直到达到事件的目标元素。在这个过程中,任何一个被…

    JavaScript 2023年5月27日
    00
  • ThinkPHP表单数据智能写入create方法实例分析

    我来详细讲解一下“ThinkPHP表单数据智能写入create方法实例分析”的完整攻略。 什么是ThinkPHP表单数据智能写入create方法? 在ThinkPHP框架中,使用create方法可以将表单数据智能写入到数据库中。这个方法可以将表单中的数据自动映射到对应的模型属性中,并且会过滤掉一些非法的字段,确保插入的数据安全可靠。 怎样使用create方法…

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