。 通过JavaScript动态生成表格…">
当前位置:首页 > JavaScript

js页面实现表格

2026-03-15 16:20:16JavaScript

使用原生JavaScript创建表格

在HTML中预留一个容器元素,例如<div id="tableContainer"></div>

通过JavaScript动态生成表格结构:

// 示例数据
const data = [
  { id: 1, name: 'Alice', age: 25 },
  { id: 2, name: 'Bob', age: 30 }
];

function createTable(data) {
  const table = document.createElement('table');
  table.border = '1';

  // 创建表头
  const thead = document.createElement('thead');
  const headerRow = document.createElement('tr');
  Object.keys(data[0]).forEach(key => {
    const th = document.createElement('th');
    th.textContent = key;
    headerRow.appendChild(th);
  });
  thead.appendChild(headerRow);
  table.appendChild(thead);

  // 创建表体
  const tbody = document.createElement('tbody');
  data.forEach(item => {
    const row = document.createElement('tr');
    Object.values(item).forEach(value => {
      const td = document.createElement('td');
      td.textContent = value;
      row.appendChild(td);
    });
    tbody.appendChild(row);
  });
  table.appendChild(tbody);

  return table;
}

document.getElementById('tableContainer').appendChild(createTable(data));

使用jQuery简化表格创建

引入jQuery库后可以简化DOM操作:

$('#tableContainer').append(
  $('<table>').append(
    $('<thead>').append(
      $('<tr>').append(
        Object.keys(data[0]).map(key => 
          $('<th>').text(key)
        )
      )
    ),
    $('<tbody>').append(
      data.map(item => 
        $('<tr>').append(
          Object.values(item).map(value => 
            $('<td>').text(value)
          )
        )
      )
    )
  )
);

使用现代框架(React示例)

在React组件中渲染表格:

function DataTable({ data }) {
  return (
    <table>
      <thead>
        <tr>
          {Object.keys(data[0]).map(key => (
            <th key={key}>{key}</th>
          ))}
        </tr>
      </thead>
      <tbody>
        {data.map((item, index) => (
          <tr key={index}>
            {Object.values(item).map((value, i) => (
              <td key={i}>{value}</td>
            ))}
          </tr>
        ))}
      </tbody>
    </table>
  );
}

添加表格交互功能

实现排序功能示例:

function sortTable(columnIndex) {
  const table = document.querySelector('table');
  const tbody = table.querySelector('tbody');
  const rows = Array.from(tbody.querySelectorAll('tr'));

  rows.sort((a, b) => {
    const aValue = a.cells[columnIndex].textContent;
    const bValue = b.cells[columnIndex].textContent;
    return aValue.localeCompare(bValue);
  });

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

使用第三方表格库

推荐使用专业表格库获得更丰富功能:

  • DataTables(jQuery插件)
  • Handsontable(支持Excel-like操作)
  • ag-Grid(企业级表格解决方案)

DataTables基本使用示例:

js页面实现表格

$('#example').DataTable({
  data: data,
  columns: [
    { title: "ID", data: "id" },
    { title: "Name", data: "name" },
    { title: "Age", data: "age" }
  ]
});

标签: 表格页面
分享给朋友:

相关文章

vue实现页面刻度

vue实现页面刻度

实现页面刻度的基本思路 在Vue中实现页面刻度通常用于展示进度、测量或标记特定位置。可以通过动态计算和渲染刻度元素来实现,结合CSS样式控制显示效果。 使用动态渲染刻度线 通过v-for指令动态生成…

使用vue实现表格

使用vue实现表格

使用 Vue 实现表格 Vue.js 提供了灵活的方式来实现表格功能,可以通过组合 v-for 指令和动态数据绑定快速构建表格。以下是几种常见的实现方法: 基础表格实现 通过 v-for 遍历数组数…

vue实现封锁页面

vue实现封锁页面

Vue 实现封锁页面的方法 使用全局路由守卫 在 Vue 项目中,可以通过 router.beforeEach 全局路由守卫拦截导航,实现页面封锁。例如,检查用户权限或登录状态,未通过验证时重定向到指…

h5实现页面3d切换

h5实现页面3d切换

使用CSS 3D变换实现基础效果 在HTML5中实现3D页面切换,可以通过CSS的transform属性结合3D变换函数。创建一个包含多个页面的容器,通过调整transform-style和persp…

vue实现上传表格

vue实现上传表格

Vue实现上传表格的方法 使用Element UI上传组件 Element UI提供了el-upload组件,可以方便地实现文件上传功能。需要安装Element UI并引入相关组件。 安装Eleme…

vue实现页面实时

vue实现页面实时

Vue 实现页面实时更新的方法 在 Vue 中实现页面实时更新,通常涉及数据绑定、响应式系统以及异步更新的机制。以下是几种常见的方法: 使用 Vue 的响应式系统 Vue 的核心特性之一是响应式系统…