JavaScript根据json生成html表格的示例代码

下面我将详细讲解如何使用JavaScript根据JSON数据生成HTML表格的完整攻略。

前置知识

在了解这个示例代码之前,需要你掌握一些HTML、CSS和JavaScript的基础知识,同时了解JSON数据格式以及如何创建JavaScript数组和对象。如果你还不熟悉这些知识,请先学习一下。

示例代码

下面是一个根据JSON数据动态生成HTML表格的示例代码。

<!DOCTYPE html>
<html>
<head>
    <title>动态生成表格</title>
    <meta charset="utf-8">
</head>
<body>
    <div id="tableContainer"></div>

    <script>
        // JSON数据
        var jsonData = [
            { name: '张三', age: 20, gender: '男' },
            { name: '李四', age: 21, gender: '女' },
            { name: '王五', age: 22, gender: '男' }
        ];

        // 表格头部
        var tableHeader = '<table><thead><tr><th>姓名</th><th>年龄</th><th>性别</th></tr></thead><tbody>';

        // 表格行
        var tableRows = '';

        // 遍历JSON数据并生成表格行
        for (var i = 0; i < jsonData.length; i++) {
            tableRows += '<tr><td>' + jsonData[i].name + '</td><td>' + jsonData[i].age + '</td><td>' + jsonData[i].gender + '</td></tr>';
        }

        // 表格底部
        var tableFooter = '</tbody></table>';

        // 拼接HTML字符串
        var tableHtml = tableHeader + tableRows + tableFooter;

        // 将表格输出到页面
        document.getElementById('tableContainer').innerHTML = tableHtml;
    </script>
</body>
</html>

以上示例代码通过创建一个JSON数组,利用循环和拼接字符串的方式来动态生成HTML表格。具体步骤如下:

  1. 首先定义一个JSON数组,数组中包含多个对象,每个对象表示一行数据,对象的属性表示列的数据;
  2. 接着定义表格头部的HTML字符串,包含表格的结构和表头信息;
  3. 然后定义一个空字符串用于存储表格行的HTML代码;
  4. 遍历JSON数组,利用字符串拼接的方式将每一行的数据转换成HTML代码,并添加到表格行的HTML代码字符串中;
  5. 最后定义表格底部的HTML字符串,包含表格的结尾标签;
  6. 将表格头部、表格行和表格底部的HTML代码拼接起来,得到一个完整的HTML表格;
  7. 将表格输出到页面。

示例说明

以下是两个使用示例说明:

示例1

假设你有一个JSON格式的数据文件,其中包含了一些用户的信息,如姓名、年龄、性别等,你需要将这些数据显示在一个HTML表格中。

首先,你需要创建一个JSON数组,数组中的每个对象表示一行用户数据,对象的属性表示表格的每列数据。

然后,你可以使用JavaScript循环遍历JSON数组,并使用字符串拼接的方式动态生成HTML代码,最终将生成的表格输出到页面中。

例如,你可以使用以下JavaScript代码来实现:

// JSON数据
var jsonData = [
    { name: '张三', age: 20, gender: '男' },
    { name: '李四', age: 21, gender: '女' },
    { name: '王五', age: 22, gender: '男' }
];

// 表格头部
var tableHeader = '<table><thead><tr><th>姓名</th><th>年龄</th><th>性别</th></tr></thead><tbody>';

// 表格行
var tableRows = '';

// 遍历JSON数据并生成表格行
for (var i = 0; i < jsonData.length; i++) {
    tableRows += '<tr><td>' + jsonData[i].name + '</td><td>' + jsonData[i].age + '</td><td>' + jsonData[i].gender + '</td></tr>';
}

// 表格底部
var tableFooter = '</tbody></table>';

// 拼接HTML字符串
var tableHtml = tableHeader + tableRows + tableFooter;

// 将表格输出到页面
document.getElementById('tableContainer').innerHTML = tableHtml;

其中,tableContainer是页面中用于显示表格的容器元素的ID。这段代码会将生成的HTML表格添加到这个容器中。

示例2

假设你有一个JSON格式的数据文件,其中包含了一些课程的信息,如课程名称、学分、教师等,你需要将这些数据显示在一个HTML表格中,并添加一些样式。

首先,你需要定义一个CSS样式表,用于美化表格的样式。

然后,你可以使用JavaScript循环遍历JSON数组,并使用字符串拼接的方式动态生成HTML代码,最终将生成的带有样式的表格输出到页面中。

例如,你可以使用以下JavaScript代码来实现:

// JSON数据
var jsonData = [
    { name: '计算机科学导论', credit: 3, teacher: '李老师' },
    { name: '数据结构与算法', credit: 4, teacher: '张老师' },
    { name: '计算机网络', credit: 3, teacher: '王老师' }
];

// 表格头部
var tableHeader = '<table class="table"><thead><tr><th>课程名称</th><th>学分</th><th>教师</th></tr></thead><tbody>';

// 表格行
var tableRows = '';

// 遍历JSON数据并生成表格行
for (var i = 0; i < jsonData.length; i++) {
    tableRows += '<tr><td>' + jsonData[i].name + '</td><td>' + jsonData[i].credit + '</td><td>' + jsonData[i].teacher + '</td></tr>';
}

// 表格底部
var tableFooter = '</tbody></table>';

// 拼接HTML字符串
var tableHtml = tableHeader + tableRows + tableFooter;

// 将表格输出到页面
document.getElementById('tableContainer').innerHTML = tableHtml;

其中,tableContainer是页面中用于显示表格的容器元素的ID。此示例中,还定义了一个名为 table 的CSS类,用于定义表格的样式。

.table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid #ddd;
    font-size: 14px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0px 2px 2px #ccc;
}

.table th, .table td {
    text-align: center;
    padding: 8px;
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.table th {
    background-color: #f8f8f8;
    font-weight: normal;
    font-size: 16px;
    color: #333;
    border-top: none;
}

.table td {
    color: #666;
}

.table tbody tr:nth-child(even) {
    background-color: #f5f5f5;
}

这段代码定义了表格的边框、背景颜色、边距等样式,以及表头、表格行(偶数行)的背景颜色。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript根据json生成html表格的示例代码 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 分享15个JavaScript的重要数组方法

    下面是详细讲解“分享15个JavaScript的重要数组方法”的完整攻略,具体分为以下几个部分: 1. 前言 数组是 JavaScript 中最常用的数据类型之一,常用于存储一系列的数据元素。在 JavaScript 中,数组提供了一系列强大的方法,帮助开发者更加高效地处理数据。下面将主要介绍 15 个 JavaScript 的重要数组方法。 2. Java…

    JavaScript 2023年5月18日
    00
  • JS数组合并push与concat区别分析

    JS数组合并push与concat区别分析 push方法 push()是JavaScript内置方法之一,用于向数组末尾添加元素,并返回数组的新长度。 let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; arr1.push(…arr2); console.log(arr1); // [1, 2, 3, 4, 5, 6]…

    JavaScript 2023年5月27日
    00
  • JS中apply()的应用实例分析

    JS中apply()的应用实例分析 什么是apply()? JS中的apply()是Function对象自带的一个方法,它的作用是调用函数并将对象作为第一个参数进行传递,第二个参数是一个包含传递给函数的参数的数组。 语法:function.apply(thisArg, [argsArray]) thisArg:在函数中某个对象将被用作“this”对象。 ar…

    JavaScript 2023年5月28日
    00
  • javascript 函数限制调用代码

    当我们编写 JavaScript 代码时,为了代码安全和可维护性,限制函数外部对函数内部代码的访问是十分重要的。在以下代码片段中,函数内部的数据变量可以被外部直接访问和修改,这会导致安全漏洞和代码不易维护。 let data = { name: ‘John’, age: 35 } function fetchData() { return data; } c…

    JavaScript 2023年5月27日
    00
  • 在JavaScript中处理字符串之link()方法的使用

    让我详细讲解一下JavaScript中处理字符串之link()方法的使用吧! link() 方法是什么? link() 是字符串对象的方法,它可以生成一个HTML链接标签 (<a>) 用于把指定的字符串转换成可点击的链接。link() 方法具有以下语法: str.link(url) 其中: str:需要生成链接的字符串。 url:链接所指向的UR…

    JavaScript 2023年5月28日
    00
  • jQuery Tools tab(幻灯片)

    下面是jQuery Tools tab(幻灯片)的完整攻略。 什么是jQuery Tools tab(幻灯片) jQuery Tools tab是一个基于jQuery的选项卡插件,可以通过点击选项卡来切换不同的内容页面。除此之外,还可以通过添加一些特效来改变选项卡的样式和显示方式。 如何使用jQuery Tools tab 引入jQuery库和jQuery …

    JavaScript 2023年6月11日
    00
  • JavaScript驾驭网页-DOM

    JavaScript驾驭网页-DOM攻略 DOM(Document Object Model)是一种表述HTML、XML等文档的标准模型,由节点树构成,后续操作都基于节点树上的节点。 1. 获取元素 想要驾驭网页,首先需要获取要操作的元素。 1.1 通过id获取元素 let element = document.getElementById("el…

    JavaScript 2023年6月10日
    00
  • CSS+jQuery实现的一个放大缩小动画效果

    让我们来详细讲解如何用CSS和jQuery实现一个放大缩小动画效果。 步骤一:添加HTML结构 首先,需要添加一个HTML元素来实现放大缩小功能。我们可以使用<div>元素。 <div class="box"></div> 步骤二:应用CSS样式 接下来,我们需要为这个<div>元素添加CS…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部