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日

相关文章

  • JavaScript字符集编码与解码详谈

    JavaScript字符集编码与解码详谈 在JavaScript中,字符集编码与解码是十分重要的概念。在本文中,我们将从以下几个方面进行详细讲解。 字符集 字符集(Character Set)是一种字符编码的方式。不同的字符集使用不同的编码方式,来将字符映射成二进制数字。JavaScript中支持多种字符集,包括ASCII码、Unicode、UTF-8等。其…

    JavaScript 2023年5月20日
    00
  • JavaScript函数中上下文有哪些规则

    JavaScript中的函数实际上是对象,和其他对象一样在创建时会得到一个[[Scope]]属性,用于指向函数创建时的作用域链。这个作用域链保存了在函数创建时的变量对象和外部词法环境的引用关系。在函数调用时,JavaScript会创建一个活动对象(也称为执行上下文),用于保存函数执行过程中产生的变量对象、函数调用参数、this指向等信息。 JavaScrip…

    JavaScript 2023年5月27日
    00
  • JavaScript的内置对象Math和字符串详解

    Math是JavaScript内置的对象,它包含了数学相关的函数和属性。在编写数字计算相关的代码时,Math对象是非常有用的。本文将详细讲解Math对象的常见函数和属性以及字符串相关的内容。 Math对象 Math对象中封装了大量常用的数学函数和常量,可以用来进行随机数生成、取整、取绝对值、求平方根等一系列常用的操作。 常见函数和用法 下面是常用函数的列表:…

    JavaScript 2023年5月27日
    00
  • javascript实现dom元素可拖动

    要实现DOM元素可拖动,需要以下步骤: 给目标元素添加mousedown事件监听器,当鼠标按下时触发事件,并将鼠标在元素上的位置信息存储起来。 给document对象添加mousemove事件监听器,当鼠标移动时触发事件,并计算出移动的距离。 在mousemove事件中,根据鼠标移动的距离,重新设置目标元素的位置。 当鼠标松开时,移除事件监听器。 以下是实现…

    JavaScript 2023年6月10日
    00
  • javascript操作referer详细解析

    关于JavaScript操作Referer的详细解析 Referer是由HTTP协议定义的一个请求头部信息,它记录了当前请求是从哪个地址跳转过来的。在JavaScript中,我们可以通过document对象的属性来访问Referer值,也可以通过编程的方式来修改Referer值。下面将分别进行讲解。 通过document对象访问Referer值 我们可以通过…

    JavaScript 2023年5月28日
    00
  • JavaScript 匿名函数(anonymous function)与闭包(closure)

    JavaScript 匿名函数(anonymous function)与闭包(closure)是 JavaScript 语言中比较常用且常误解的概念。在本文中,我们将详细介绍匿名函数与闭包的概念、用法及其注意事项。 匿名函数 概念 匿名函数是指没有函数名的函数。在 JavaScript 中,我们通常通过函数表达式来定义匿名函数。如下所示: const add…

    JavaScript 2023年5月27日
    00
  • 分享8个JavaScript库可更好地处理本地存储

    下面是详细讲解: 分享8个JavaScript库可更好地处理本地存储 为什么要使用JavaScript库来处理本地存储? 在Web开发中,本地存储是一个很重要的概念。我们经常需要在用户的浏览器端存储数据,这些数据可以是用户的个人设置、应用的状态、页面的缓存等等。在HTML5标准中,浏览器原生提供了两种本地存储方式:localStorage和sessionSt…

    JavaScript 2023年6月11日
    00
  • js选择并转移导航菜单示例代码

    下面是js选择并转移导航菜单的攻略。首先我们需要明确一下我们需要做的事情,即从一个导航菜单中选择若干个元素,并将这些元素转移至另一个导航菜单中。具体实现步骤如下: 1. 准备工作 首先在HTML文档中,我们需要准备两个导航菜单的容器元素,以及一个按钮元素用于触发选中操作。例如,我们可以按照以下代码编写容器元素: <div class="con…

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