0

0

如何使用 jQuery 动态生成多行多列数据表格

花韻仙語

花韻仙語

发布时间:2026-02-23 19:01:01

|

274人浏览过

|

来源于php中文网

原创

如何使用 jQuery 动态生成多行多列数据表格

本文详解如何利用 jQuery 的 $.each() 遍历数据数组,并通过 .append() 方法动态创建结构化 HTML 行与列,支持响应式布局(Bootstrap 栅格)和语义化表格两种实现方式。

本文详解如何利用 jquery 的 `$.each()` 遍历数据数组,并通过 `.append()` 方法动态创建结构化 html 行与列,支持响应式布局(bootstrap 栅格)和语义化表格两种实现方式。

在前端开发中,常需将 JSON 数据动态渲染为页面上的多行多列结构(如人员列表、成绩表等)。原代码试图复用固定 DOM 元素(如 .name)并反复调用 .text(),结果仅显示最后一条数据——这是因所有循环迭代均覆盖同一组元素,而非创建新行。正确做法是:为每条数据生成独立的 DOM 节点,并追加到容器中

✅ 推荐方案一:基于 Bootstrap 栅格的响应式行渲染

适用于需要移动端适配、灵活布局的场景。关键点:

  • 清空原始 .row 结构,将 .eventsBlock 改为纯容器;
  • 每次循环生成一个完整 .row,内含多个 .col-* 列;
  • 使用模板字符串拼接,提升可读性与维护性。
<div class="eventsBlock"></div>
const data = [
  { "name": "Alice", "surname": "Smith", "rollnum": "00002" },
  { "name": "Bob", "surname": "Walter", "rollnum": "00004" }
];

function load() {
  $.each(data, function(index, item) {
    $('.eventsBlock').append(`
      <div class="row">
        <div class="col-md-3 col-sm-6">
          <strong>Name:</strong> ${item.name}
        </div>
        <div class="col-md-3 col-sm-6">
          <strong>Surname:</strong> ${item.surname}
        </div>
        <div class="col-md-3 col-sm-6">
          <strong>Roll No.:</strong> ${item.rollnum}
        </div>
        <div class="col-md-3 col-sm-6">
          <strong>Location:</strong> N/A
        </div>
      </div>
      <hr class="my-3"> <!-- 视觉分隔线 -->
    `);
  });
}

load(); // 执行渲染

⚠️ 注意事项:

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

下载
  • 确保已引入 Bootstrap CSS(否则 col-* 类无效);
  • 避免在循环中频繁查询 DOM(如 $('.eventsBlock')),可提前缓存:const $container = $('.eventsBlock');;
  • 若需后续交互(如点击某行),建议为每行添加唯一 data-id 或 id 属性。

✅ 推荐方案二:标准 HTML 表格(语义化 & 可访问性更优)

当数据本质为二维表格时,

是最佳选择:结构清晰、SEO 友好、屏幕阅读器兼容性强。@@######@@@@######@@

✅ 优势说明:

/ 明确分离表头与内容,支持滚动固定表头;
  • 可轻松集成 DataTables 等插件实现搜索、排序、分页;
  • 无需依赖 CSS 框架,原生语义化更强。
  • ? 总结

    ,保持 不变
    方案 适用场景 关键技巧 性能提示
    Bootstrap 栅格 响应式卡片式布局、内容不严格对齐 使用 .append() + 模板字符串,避免重复 DOM 查询 批量生成后一次性插入(如用 documentFragment)更高效
    HTML 表格 数据报表、需排序/导出/无障碍支持 优先操作
    大量数据时建议分页或虚拟滚动

    无论选用哪种方式,核心原则不变:数据驱动 DOM 创建,而非覆盖已有节点。切勿在循环中反复 .text() 同一选择器——那是单值更新逻辑,而非列表渲染逻辑。

    <table class="table table-striped eventsBlock">
      <thead>
        <tr>
          <th>Name</th>
          <th>Surname</th>
          <th>Roll Number</th>
          <th>Location</th>
        </tr>
      </thead>
      <tbody></tbody>
    </table>
    function load() {
      const $tbody = $('.eventsBlock tbody');
      $.each(data, function(index, item) {
        $tbody.append(`
          <tr>
            <td>${item.name}</td>
            <td>${item.surname}</td>
            <td>${item.rollnum}</td>
            <td>N/A</td>
          </tr>
        `);
      });
    }

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    json数据格式
    json数据格式

    JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

    446

    2023.08.07

    json是什么
    json是什么

    JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

    544

    2023.08.23

    jquery怎么操作json
    jquery怎么操作json

    操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

    322

    2023.10.13

    go语言处理json数据方法
    go语言处理json数据方法

    本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

    81

    2025.09.10

    jquery插件有哪些
    jquery插件有哪些

    jquery插件有jQuery UI、jQuery Validate、jQuery DataTables、jQuery Slick、jQuery LazyLoad、jQuery Countdown、jQuery Lightbox、jQuery FullCalendar、jQuery Chosen和jQuery EasyUI等。本专题为大家提供jquery插件相关的文章、下载、课程内容,供大家免费下载体验。

    155

    2023.09.12

    jquery怎么操作json
    jquery怎么操作json

    操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

    322

    2023.10.13

    jquery删除元素的方法
    jquery删除元素的方法

    jquery可以通过.remove() 方法、 .detach() 方法、.empty() 方法、.unwrap() 方法、.replaceWith() 方法、.html('') 方法和.hide() 方法来删除元素。更多关于jquery相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

    404

    2023.11.10

    jQuery hover()方法的使用
    jQuery hover()方法的使用

    hover()是jQuery中一个常用的方法,它用于绑定两个事件处理函数,这两个函数将在鼠标指针进入和离开匹配的元素时执行。想了解更多hover()的相关内容,可以阅读本专题下面的文章。

    513

    2023.12.04

    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

    本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

    1127

    2026.02.13

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    jQuery 教程
    jQuery 教程

    共42课时 | 6.5万人学习

    HTML+CSS基础与实战
    HTML+CSS基础与实战

    共132课时 | 11.6万人学习

    tp6+adminlte搭建通用后台
    tp6+adminlte搭建通用后台

    共39课时 | 5.8万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号