当前位置:首页 > JavaScript

js怎么实现增行

2026-04-04 17:54:24JavaScript

使用 JavaScript 动态增行

在表格中动态增加行可以通过操作 DOM 实现。以下是几种常见方法:

方法一:使用 insertRow()insertCell()

通过表格的 insertRow() 方法在指定位置插入新行,再使用 insertCell() 插入单元格:

function addRow() {
  const table = document.getElementById("myTable");
  const newRow = table.insertRow(-1); // -1 表示在末尾插入

  const cell1 = newRow.insertCell(0);
  const cell2 = newRow.insertCell(1);

  cell1.innerHTML = "新行单元格1";
  cell2.innerHTML = "新行单元格2";
}

方法二:拼接 HTML 字符串

通过拼接 HTML 字符串并插入到表格中:

js怎么实现增行

function addRow() {
  const table = document.getElementById("myTable");
  const newRowHtml = `
    <tr>
      <td>新行单元格1</td>
      <td>新行单元格2</td>
    </tr>
  `;
  table.insertAdjacentHTML('beforeend', newRowHtml);
}

方法三:使用模板引擎

对于复杂场景可以使用模板引擎如 Handlebars:

const source = document.getElementById("row-template").innerHTML;
const template = Handlebars.compile(source);

function addRow(data) {
  const html = template(data);
  document.getElementById("myTable").insertAdjacentHTML('beforeend', html);
}

使用 jQuery 增行

如果项目中使用 jQuery,可以简化操作:

js怎么实现增行

$("#addRowBtn").click(function() {
  $("#myTable").append(`
    <tr>
      <td>新行单元格1</td>
      <td>新行单元格2</td>
    </tr>
  `);
});

动态绑定事件

新增行后需要绑定事件时,推荐事件委托:

document.getElementById("myTable").addEventListener("click", function(e) {
  if(e.target.classList.contains("delete-btn")) {
    e.target.closest("tr").remove();
  }
});

表单输入型增行

对于需要输入数据的行,可以创建表单元素:

function addInputRow() {
  const table = document.getElementById("myTable");
  const newRow = table.insertRow(-1);

  const cell1 = newRow.insertCell(0);
  const cell2 = newRow.insertCell(1);

  cell1.innerHTML = '<input type="text" class="form-control">';
  cell2.innerHTML = '<button class="save-btn">保存</button>';
}

性能优化建议

当需要批量添加大量行时,使用文档片段(documentFragment):

function addMultipleRows(data) {
  const fragment = document.createDocumentFragment();

  data.forEach(item => {
    const row = document.createElement("tr");
    row.innerHTML = `
      <td>${item.name}</td>
      <td>${item.value}</td>
    `;
    fragment.appendChild(row);
  });

  document.getElementById("myTable").appendChild(fragment);
}

标签: js
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…