。 通过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操作:

js页面实现表格

$('#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>
  );
}

添加表格交互功能

实现排序功能示例:

js页面实现表格

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基本使用示例:

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

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

相关文章

vue日历表格实现

vue日历表格实现

Vue 日历表格实现方法 基础日历表格结构 使用 Vue 的模板语法构建日历表格框架,通过 v-for 循环生成日期单元格。核心是计算当前月份的天数及起始星期位置。 <template>…

vue实现表格复选

vue实现表格复选

Vue实现表格复选的方法 基础实现 在Vue中实现表格复选功能可以通过v-model绑定复选框的状态,结合v-for循环渲染表格数据。以下是一个基础示例: <template> &l…

vue实现引导页面

vue实现引导页面

vue实现引导页面的方法 使用Vue实现引导页面可以通过多种方式完成,以下是几种常见的方法: 使用第三方库driver.js 安装driver.js库: npm install driver.j…

vue页面实现流程

vue页面实现流程

Vue页面实现流程 初始化Vue项目 使用Vue CLI或Vite创建项目,安装Vue及相关依赖。例如通过Vue CLI: npm install -g @vue/cli vue create my…

怎么制作css表格

怎么制作css表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,CSS用于控制样式。以下是一个基础示例: <table class="styled-table">…

vue实现页面分模块

vue实现页面分模块

Vue 实现页面分模块的方法 在 Vue 中实现页面分模块可以通过组件化、路由分割、动态加载等方式实现,以下是具体方法: 组件化拆分 将页面拆分为多个功能独立的组件,每个组件负责特定功能模块。通过…