当前位置:首页 > JavaScript

js代码实现表格

2026-02-03 07:33:51JavaScript

以下是一个使用JavaScript动态创建和操作HTML表格的示例代码及说明:

基础表格创建

通过DOM操作生成一个简单的2x2表格并插入到页面中:

js代码实现表格

// 创建table元素
const table = document.createElement('table');
table.border = '1';

// 创建表头
const thead = table.createTHead();
const headerRow = thead.insertRow();
headerRow.insertCell(0).textContent = 'Header 1';
headerRow.insertCell(1).textContent = 'Header 2';

// 创建表格内容
const tbody = table.createTBody();
const dataRow = tbody.insertRow();
dataRow.insertCell(0).textContent = 'Data 1';
dataRow.insertCell(1).textContent = 'Data 2';

// 添加到DOM
document.body.appendChild(table);

动态数据填充

根据数组数据动态生成表格内容:

const data = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 }
];

function createTableFromData(dataArray) {
  const table = document.createElement('table');
  const headers = Object.keys(dataArray[0]);

  // 创建表头
  const headerRow = table.insertRow();
  headers.forEach(headerText => {
    const th = document.createElement('th');
    th.textContent = headerText;
    headerRow.appendChild(th);
  });

  // 填充数据
  dataArray.forEach(item => {
    const row = table.insertRow();
    headers.forEach(header => {
      row.insertCell().textContent = item[header];
    });
  });

  return table;
}

document.body.appendChild(createTableFromData(data));

表格排序功能

为表格添加点击表头排序功能:

js代码实现表格

function makeSortable(table) {
  const headers = table.querySelectorAll('th');
  headers.forEach((header, index) => {
    header.style.cursor = 'pointer';
    header.addEventListener('click', () => {
      const tbody = table.querySelector('tbody');
      const rows = Array.from(tbody.querySelectorAll('tr'));

      rows.sort((a, b) => {
        const aText = a.cells[index].textContent;
        const bText = b.cells[index].textContent;
        return aText.localeCompare(bText);
      });

      rows.forEach(row => tbody.appendChild(row));
    });
  });
}

const table = createTableFromData(data);
makeSortable(table);
document.body.appendChild(table);

响应式表格

使用事件委托实现动态行操作:

table.addEventListener('click', (e) => {
  if (e.target.tagName === 'TD') {
    e.target.style.backgroundColor = '#eee';
  }
});

// 添加删除行功能
table.addEventListener('dblclick', (e) => {
  if (e.target.tagName === 'TD') {
    e.target.parentElement.remove();
  }
});

使用模板字符串

快速生成表格HTML字符串:

function generateTableHTML(data) {
  return `
    <table border="1">
      <thead>
        <tr>
          ${Object.keys(data[0]).map(key => `<th>${key}</th>`).join('')}
        </tr>
      </thead>
      <tbody>
        ${data.map(row => `
          <tr>
            ${Object.values(row).map(val => `<td>${val}</td>`).join('')}
          </tr>
        `).join('')}
      </tbody>
    </table>
  `;
}

document.body.innerHTML = generateTableHTML(data);

这些示例展示了从基础创建到高级功能的JavaScript表格实现方法,可根据实际需求组合使用或扩展。

标签: 表格代码
分享给朋友:

相关文章

淘宝css代码制作

淘宝css代码制作

在淘宝店铺装修中,CSS代码用于自定义页面样式,提升视觉效果和用户体验。以下是常见的CSS代码制作方法和应用场景: 自定义店铺背景 通过CSS可以修改店铺背景颜色或图片,代码示例如下: body…

css好看的表格制作

css好看的表格制作

使用CSS制作美观表格的方法 边框与间距优化 通过border-collapse属性合并边框,避免双边框效果。设置padding增加单元格内边距,提升可读性。 table { border-…

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…

vue实现导出表格

vue实现导出表格

Vue 实现导出表格的方法 使用 xlsx 库导出 Excel 安装 xlsx 库 npm install xlsx 在 Vue 组件中引入 xlsx import * as XLSX from…

用css制作表格

用css制作表格

使用CSS制作表格 基础表格结构 HTML中表格由<table>、<tr>(行)、<th>(表头)和<td>(单元格)组成。基础结构如下: <t…

网页表格制作css代码

网页表格制作css代码

基础表格样式 使用CSS为HTML表格添加基础样式,包括边框、间距和背景色: table { width: 100%; border-collapse: collapse; margin…