JavaScript实现动态写入表格

发布于:2022-07-25 ⋅ 阅读:(240) ⋅ 点赞:(0)

问题引入

如果我们在写程序的时候,接收到了后台传入的数据,怎么样用原生JavaScript把数据写入表格呢?
如果第二次传来的数据与第一次不一样的话该怎么办呢?

问题解决

我们可以将传过来的数据遍历,然后拼接字符串。
然后可以使用document.querySelector(“.id”).innerHTML = 字符串;的形式,将字符串写入表格。
代码实现(因为现在没办法模拟后台传数据,现在以字符串模拟数据):
1.初始工作:写一个表格,将tbody设置一个标识,以便下面我们可以获取到。

<table border="1">
        <thead>
            <tr>
                <td>id</td>
                <td>name</td>
                <td>sex</td>
                <td>age</td>
                <td>email</td>
            </tr>
        </thead>
        <tbody class="tbody">

        </tbody>

    </table>

在这里插入图片描述

2.完整代码

<!DOCTYPE html>
<html>

<head>
    <title>小腾</title>
    <meta charset="utf-8">
</head>

<body>

    <table border="1">
        <thead>
            <tr>
                <td>id</td>
                <td>name</td>
                <td>sex</td>
                <td>age</td>
                <td>email</td>
            </tr>
        </thead>
        <tbody class="tbody">

        </tbody>

    </table>

    <script>

        /**
         * 模拟数据
         */
        var str = [{
            "age": 21,
            "email": "小岳@163.com",
            "id": 1,
            "name": "小岳",
            "sex": "男"
        }, {
            "age": 18,
            "email": "xiaowang@163.com",
            "id": 2,
            "name": "小王",
            "sex": "女"
        }, {
            "age": 20,
            "email": "xiaolu@qq.com",
            "id": 3,
            "name": "小路",
            "sex": "男"
        }, {
            "age": 21,
            "email": "xiaoteng@gmail.com",
            "id": 4,
            "name": "小腾",
            "sex": "男"
        }];

        var html = "";
        for (var i = 0; i < str.length; i++) {
            //拼接字符串,把所有的值都拼接上
            html += "<tr>" + "<td>" + str[i].id + "</td>" + "<td>" + str[i].name + "</td>" + "<td>" + str[i].sex +
                "</td>" + "<td>" + str[i].age + "</td>" + "<td>" + str[i].email + "</td>" + "</tr>"

        }
		//将数据写入刚才的表格中
        document.querySelector(".tbody").innerHTML = html;
    </script>

</body>

</html>

运行图:
在这里插入图片描述

小结

方法有很多种,本次只是介绍其中一种,如果还有遇到类似问题会再写一个。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到