JavaScript与DOM组合动态创建表格实例

下面我来详细讲解如何使用JavaScript与DOM组合动态创建表格实例。

简介

在Web开发中,表格是数据展示的常用形式之一,但是在页面中手动编写表格代码比较繁琐,因此我们可以使用JavaScript与DOM结合创建表格。

创建表格的步骤

1.创建表格元素

首先需要使用JavaScript创建表格元素,可以使用document.createElement方法创建表格元素。如下所示:

var table = document.createElement('table');

这段代码会创建一个table元素。

2.创建表头

接下来需要创建表头,可以使用insertRow方法创建表格行元素,再使用insertCell方法创建单元格元素,然后添加到表头行中。如下所示:

var headRow = table.insertRow(0);  // 创建表头行元素

var th1 = document.createElement('th');  // 创建表头单元格元素
th1.innerHTML = 'ID';  // 设置单元格内容
headRow.appendChild(th1);  // 添加到表头行中

var th2 = document.createElement('th');
th2.innerHTML = '姓名';
headRow.appendChild(th2);

var th3 = document.createElement('th');
th3.innerHTML = '年龄';
headRow.appendChild(th3);

这段代码会创建一个表格,表头包含3个单元格(ID、姓名、年龄)。

3.插入数据

最后需要插入数据,可以使用insertRow方法创建行元素,然后使用insertCell方法创建单元格元素,再设置单元格内容,最后添加到行中即可。如下所示:

for (var i = 0; i < data.length; i++) {  // data为数据数组
    var row = table.insertRow(-1);  // 创建数据行元素

    var cell1 = row.insertCell(0);  // 创建单元格元素
    cell1.innerHTML = data[i].id;  // 设置单元格内容

    var cell2 = row.insertCell(1);
    cell2.innerHTML = data[i].name;

    var cell3 = row.insertCell(2);
    cell3.innerHTML = data[i].age;
}

这段代码会将数据数组中的数据插入到表格中。

示例

下面通过两个示例演示如何使用JavaScript与DOM结合创建表格。

示例一:静态数据表格

首先创建一个HTML页面,然后在页面中添加一个按钮和一个用于展示表格的div。当用户点击按钮时,会在div中动态创建一个表格,并将静态数据插入到表格中。

HTML代码如下:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>示例一:静态数据表格</title>
</head>
<body>
    <button onclick="createTable()">创建表格</button>
    <div id="table-container"></div>
</body>
</html>

JavaScript代码如下:

function createTable() {
    var data = [
        {id: 1, name: '张三', age: 20},
        {id: 2, name: '李四', age: 22},
        {id: 3, name: '王五', age: 25},
        {id: 4, name: '赵六', age: 30}
    ];

    var container = document.getElementById('table-container');

    var table = document.createElement('table');
    container.appendChild(table);

    var headRow = table.insertRow(0);

    var th1 = document.createElement('th');
    th1.innerHTML = 'ID';
    headRow.appendChild(th1);

    var th2 = document.createElement('th');
    th2.innerHTML = '姓名';
    headRow.appendChild(th2);

    var th3 = document.createElement('th');
    th3.innerHTML = '年龄';
    headRow.appendChild(th3);

    for (var i = 0; i < data.length; i++) {
        var row = table.insertRow(-1);

        var cell1 = row.insertCell(0);
        cell1.innerHTML = data[i].id;

        var cell2 = row.insertCell(1);
        cell2.innerHTML = data[i].name;

        var cell3 = row.insertCell(2);
        cell3.innerHTML = data[i].age;
    }
}

当用户点击按钮时,会创建一个表格,并将静态数据插入到表格中。

示例二:动态数据表格

首先创建一个HTML页面,然后在页面中添加一个输入框和一个用于展示表格的div。当用户输入文本时,会按照文本内容查询数据,并将查询结果动态展示在表格中。

HTML代码如下:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>示例二:动态数据表格</title>
</head>
<body>
    <input type="text" id="query-input" placeholder="请输入查询内容">
    <button onclick="query()">查询</button>
    <div id="table-container"></div>
</body>
</html>

JavaScript代码如下:

var data = [
    {id: 1, name: '张三', age: 20},
    {id: 2, name: '李四', age: 22},
    {id: 3, name: '王五', age: 25},
    {id: 4, name: '赵六', age: 30}
];

function query() {
    var queryText = document.getElementById('query-input').value;
    var queryResult = [];

    for (var i = 0; i < data.length; i++) {
        if (data[i].name.indexOf(queryText) >= 0) {
            queryResult.push(data[i]);
        }
    }

    var container = document.getElementById('table-container');
    container.innerHTML = '';

    if (queryResult.length > 0) {
        var table = document.createElement('table');
        container.appendChild(table);

        var headRow = table.insertRow(0);

        var th1 = document.createElement('th');
        th1.innerHTML = 'ID';
        headRow.appendChild(th1);

        var th2 = document.createElement('th');
        th2.innerHTML = '姓名';
        headRow.appendChild(th2);

        var th3 = document.createElement('th');
        th3.innerHTML = '年龄';
        headRow.appendChild(th3);

        for (var i = 0; i < queryResult.length; i++) {
            var row = table.insertRow(-1);

            var cell1 = row.insertCell(0);
            cell1.innerHTML = queryResult[i].id;

            var cell2 = row.insertCell(1);
            cell2.innerHTML = queryResult[i].name;

            var cell3 = row.insertCell(2);
            cell3.innerHTML = queryResult[i].age;
        }
    } else {
        container.innerHTML = '查询结果为空';
    }
}

当用户输入内容并点击查询按钮时,会动态生成表格,并将查询结果插入到表格中。

以上就是使用JavaScript与DOM结合动态创建表格的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript与DOM组合动态创建表格实例 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript操作选择对象的简单实例

    下面我将为您详细讲解“JavaScript操作选择对象的简单实例”的完整攻略。 1. 选择对象 要操作 HTML 中的元素,我们必须首先找到它。找到元素的最常用方法是使用 id 属性。我们可以使用 document.getElementById() 方法来选择一个有 id 的元素。 比如,我们有如下HTML代码: <div id="demo&…

    JavaScript 2023年5月27日
    00
  • 微信小程序 input输入框控件详解及实例(多种示例)

    下面就为你详细讲解“微信小程序 input输入框控件详解及实例(多种示例)”的完整攻略。 一、概述 在微信小程序中,我们常常用到前端开发的基础控件之一 input,该控件主要用于获取用户输入的数据。 二、类型 微信小程序 input 控件主要有以下几个属性类型: 1. text text 输入框类型是最基础也是最常用的一种,可以输入任意字符,长度没有限制。 …

    JavaScript 2023年6月10日
    00
  • vue $router和$route的区别详解

    下面是详细讲解“vue $router和$route的区别详解”的完整攻略: 背景 Vue.js 是一个轻量级的 MVVM 前端框架,常用的路由管理器是 vue-router。在使用 vue-router 过程中,可能会涉及到两个关键对象:$router 和 $route。这两个对象貌似很相似,但实际上有着明确的区别。本文将详细讲解两者的区别和应用场景。 $…

    JavaScript 2023年6月11日
    00
  • 前端H5 Video常见使用场景简介

    前端H5 Video是指在网页上通过H5技术播放视频的方式。它相对于Flash视频等传统方式,具有兼容性好、体验优秀等优点,因此在网络视频和在线教育等领域得到广泛应用。下面将详细讲解前端H5 Video常见使用场景。 常见使用场景 1. 网络视频站点 网络视频站点是前端H5 Video最常见的使用场景。视频站点通过前端H5 Video技术,可以实现视频播放、…

    JavaScript 2023年6月11日
    00
  • GridView选择记录同时confirm用户确认删除

    GridView选择记录同时confirm用户确认删除 简介 由于GridView是ASP.NET Web Forms常用的控件之一,经常会被用来展示和编辑自定义数据源。在开发中,经常会遇到用户想要删除某一项记录的需求。这时候,我们需要使用JavaScript来先确认用户是否真正想要删除该记录。 步骤 第一步:在GridView中添加CheckBox列 我们…

    JavaScript 2023年6月11日
    00
  • Javascript Dom元素获取和添加详解

    关于JavaScript中Dom元素获取和添加,可以分为如下几个方面进行讲解: 一、Dom元素获取 Dom元素是页面上的元素,我们可以通过JavaScript代码获取到Dom元素以便进行操作,下面介绍一些常用的Dom元素获取方式: 1. document.getElementById 这是获取单个元素最常用的方法,通过元素id获取单个Dom元素: var e…

    JavaScript 2023年6月10日
    00
  • 漫谈JS引擎的运行机制 你应该知道什么

    漫谈JS引擎的运行机制 你应该知道什么 什么是JS引擎 JS引擎是指运行JavaScript程序的解释器,它可以解析、执行JavaScript代码,并将其转换成计算机能够理解的语言。目前主流的JS引擎有V8、SpiderMonkey、Chakra等。 JS引擎的运行流程 JS引擎的运行流程通常可以分为以下几个步骤: 词法分析:将JavaScript代码解析成…

    JavaScript 2023年6月10日
    00
  • js使用Array.prototype.sort()对数组对象排序的方法

    下面是“js使用Array.prototype.sort()对数组对象排序的方法”的详细攻略: 1. Array.prototype.sort()方法介绍 Array.prototype.sort() 方法用于对数组进行排序。默认情况下按照字符串的 Unicode 码点进行排序。 语法 array.sort([compareFunction]) 参数说明: …

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