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

yizhihongxing

下面我来详细讲解如何使用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实现Array和String互转换的方法

    下面是Javascript实现Array和String互转换的方法的完整攻略。 Array转String 方法一:join() 使用join()方法可以将数组变成一个字符串。该方法会将数组中所有元素按照指定的分隔符连接起来并返回一个字符串。默认的分隔符是逗号。 var arr = [‘hello’, ‘world’, ‘!’]; var str = arr.…

    JavaScript 2023年5月27日
    00
  • JavaScript将一个数组插入到另一个数组的方法

    将一个数组插入到另一个数组可以通过以下两种方法实现: 方法一:使用spread operator(展开操作符) 展开操作符可以将一个数组展开成其包含的所有元素,然后将这些元素插入到另一个数组中。下面是这种方法的示例代码: const arr1 = [1, 2, 3]; const arr2 = […arr1, 4, 5, 6]; console.log(…

    JavaScript 2023年5月27日
    00
  • JavaScript中Object值合并方法详解

    当我们在JavaScript中有多个Object对象,并想将它们合并在一起时,Object提供了几个方便的方法。 Object.assign(obj1, obj2, …, objN) Object.assign() 方法用于将一个或多个源对象的所有可枚举属性复制到目标对象中。它返回目标对象。 语法 Object.assign(target, …sou…

    JavaScript 2023年5月27日
    00
  • Javascript中常见的校验如域名、手机、邮箱等等

    JavaScript是一种广泛使用的编程语言,常用于网站开发中的校验功能。在网站中,我们经常需要对用户输入的信息进行校验,包括域名、手机号码、邮箱地址等等。以下是JavaScript中常见的校验方式及其实现方法: 域名校验 常见的域名校验方式是检查输入的字符串是否符合域名的规则。域名必须以字母或数字开头,并以字母或数字结尾,中间可以包含点号(.)和连字符(-…

    JavaScript 2023年5月19日
    00
  • JavaScript实现加密与解密详解

    JavaScript实现加密与解密详解 在现代应用程序中,数据的安全性非常重要。其中一种保护数据安全的方式是使用加密算法。JavaScript是一种流行的编程语言,经常用于在浏览器中实现安全性。 本文将详细讲解使用JavaScript实现加密和解密的详细步骤,包括两个示例。 加密 Base64加密 Base64是一种用于数据传输的编码方案。它将任意二进制数据…

    JavaScript 2023年5月19日
    00
  • js中函数的length是多少

    在JavaScript中,函数有length属性,该属性指示函数的参数数量。length属性用于获取函数定义时写入的参数数目,与实际调用函数时传入的参数数目无关。 例如下面这个函数,它包含3个参数: function exampleFunc(a, b, c) { // function body goes here } 那么这个函数的length值就是3,因…

    JavaScript 2023年5月27日
    00
  • javascript window对象属性整理

    下面是关于“javascript window对象属性整理”的完整攻略: 简介 window对象是JavaScript中的全局对象,用于表示当前浏览器窗口。它可以访问浏览器窗口所有内容。window对象的一些属性可以用来获取有关当前窗口的信息,比如窗口的大小、位置等。本文旨在整理并详细讲解window对象的属性。 属性列表 以下是window对象的一些常用属…

    JavaScript 2023年5月27日
    00
  • 12种实现301网页重定向方法的代码实例(含Web编程语言和Web服务器)

    标题:12种实现301网页重定向方法的代码实例 什么是301网页重定向? 301网页重定向是一种将一个URL重定向到另一个URL的技术,被广泛用于网站重构、域名更改等场景中。重定向的状态码为301,它告诉搜索引擎,原始的URL已经永久性地移到了新的URL,此时搜索引擎会把原始的SEO权重传递给新的URL。 实现301网页重定向的12种方法 1. 使用HTTP…

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