博主信息
博文 15
粉丝 0
评论 1
访问量 17828
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
js获取数据后动态的添加表格(1月17号作业)
空城的博客
原创
1121人浏览过

在实际开发中我们经常会遇到从后台取到数据后,动态添加到前端页面的情况,本篇将通过对模拟的data对象数组的操作
实现js对数据的动态添加


实例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>js获取数据后动态的添加表格</title>
    <style>
        table,td,th{
            border: 1px solid #666;

        }
        table{
            width: 500px;
            border-collapse: collapse;
            text-align: center;
        }
        table caption{
            font-size: 1.2em;
        }
        thead tr:nth-of-type(1){
            background-color: lawngreen;
        }
    </style>
</head>

<body>
    <table id="cart1">
        <caption>购物车1</caption>
        <!-- 注: 浏览器会自动给以下内容添加一个tbody容器 -->
        <!-- 为防止作用js获取元素出错,我们手工添加上这个tbody -->
        <!-- 将表头手工加上thead,否则会被添加二个tbody,因为table允许使用多个tbody -->
        <thead>
            <tr>
                <th>编号</th>
                <th>品名</th>
                <th>数量</th>
                <th>单价</th>
            </tr>
        </thead>

        <tbody>
            <tr>
                <td>1</td>
                <td>手机</td>
                <td>1</td>
                <td>3000</td>
            </tr>
            <tr>
                <td>2</td>
                <td>电脑</td>
                <td>1</td>
                <td>5000</td>
            </tr>
            <tr>
                <td>3</td>
                <td>手机</td>
                <td>1</td>
                <td>3000</td>
            </tr>
        </tbody>
    </table>
    <button onclick="add()">动态添加</button>
    <button onclick="add2()">动态添加2</button>
</body>
<script>
    var data = [
            {id: 1, name: '牛奶', count: 3, price: 50},
            {id: 1, name: '苹果', count: 10, price: 80},
            {id: 1, name: '衣服', count: 2, price: 600}
        ];
    function add() {
        tbody = document.getElementsByTagName('tbody')[0];
        //第一种遍历数组的方法 forEach
        data.forEach(function(v,k) {
            var tr = document.createElement('tr');
            tr.innerHTML = "<td>"+v.id+"</td><td>"+v.name+"</td><td>"+v.count+"</td><td>"+v.price+"</td>";
            tbody.appendChild(tr);
            
        });
        
    }

    function add2() {
        tbody = document.getElementsByTagName('tbody')[0];
        //第二种遍历用for循环遍历data 再用forEach遍历键值
        for(i=0;i<data.length;i++){
            var tr = document.createElement('tr');
            Object.keys(data[i]).forEach(function(k) {
                tr.innerHTML += "<td>"+ data[i][k] + "</td>";
            });
            tbody.appendChild(tr);
        }

    }
</script>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学