JS 动态生成Table的三种方法

<!DOCTYPE HTML>
<html>

<head>
    <title>JSON字符串转换为JSON对象数组 </title>
</head>

<body style="text-align:center;">
    <h1 style="color:#1ab1cc;"> 公众号:web前端开发 </h1>
    <p id="GFG_UP"></p> <button onclick="display()"> Click Here </button>
    <p id="GFG_DOWN"></p>
    <table id="table01" border="1" cellspacing="0" align="center">
        <tr style="height: 30px;"> 
            <td style="width: 100px;">Data</td>
            <td style="width: 100px;background-color: aqua;">Data2</td>
        </tr>
        <tbody id="table01Tbody"></tbody>
    </table>
    <script>         
        var up = document.getElementById("GFG_UP"); 
        var JS_Obj = '[{"prop_1":"val_1"}, {"prop_1":"val_2"}, {"prop_1" : "val_3"}]';
        up.innerHTML = "JSON string - '" + JS_Obj + "'";
        var down = document.getElementById("GFG_DOWN");
        var obj = JSON.parse(JS_Obj); 
        function myGFG() {
            var res = [];
            for (var i in obj) 
                res.push(obj[i].prop_1);
            down.innerHTML = "Array of values - [" + res + "]";
        }
        var tab = document.getElementById("table01");
        var str = '';
        function display(){
            myGFG();
            for (var i in obj){
                /* 方法一
                var td_id = document.createElement("td");
                var text_id = document.createTextNode(obj[i].prop_1); 
                td_id.appendChild(text_id);
                var tr = document.createElement("tr");
                tr.appendChild(td_id);
                tab.appendChild(tr);
                */
                /* 方法二
                var tr=tab.insertRow(1);
                var cell0=tr.insertCell(0);
                cell0.innerHTML=i;
                var cell1=tr.insertCell(1);
                cell1.innerHTML=obj[i].prop_1;
                */
                // 方法三,推荐
                str += `
                    <tr>
                        <td>${i}</td>
                        <td style="width: 100px;background-color: aqua;">${obj[i].prop_1}</td>
                    </tr>
                `;
            }
            //var tbody = document.querySelector('tbody');
            var tbody = document.getElementById('table01Tbody');
            tbody.innerHTML = str;
        }
    </script>
</body>

</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值