首页 前端知识 JavaScript中动态生成表格

JavaScript中动态生成表格

2024-04-29 12:04:24 前端知识 前端哥 914 103 我要收藏

1.  以下这个案例比较典型:

        涉及到dom节点的操作,以及数组和对象的遍历方法

题目要求:

  • 使用数组把学生数据模拟出来。
  • 动态创建行、单元格。
  • 为单元格填充数据。
  • 提供“删除”链接,可删除所在的行。

效果如下:

 html代码部分如下:

   <table>
        <thead>
            <tr>
                <td>姓名</td>
                <td>科目</td>
                <td>成绩</td>
                <td>操作</td>
            </tr>
        </thead>
        <tbody></tbody>
   </table>

js代码块:

        //定义数组对象保存数据
        let arr = [
            {
                name: 'Tom',
                subject: 'JavaScript',
                score: '100'
            },
            {
                name: 'Jack',
                subject: 'JavaScript',
                score: '91'
            },
            {
                name: 'Tony',
                subject: 'JavaScript',
                score: '99'
            }];
        //获取tbody
        let tbody = document.querySelector('tbody');

        for (let i = 0; i < arr.length; i++) {//遍历数组

            let mytr = document.createElement('tr');//创建行节点
            tbody.appendChild(mytr);//添加行节点
            for (let j in arr[i]) {//for..in 遍历对象,获取其属性值

                let td = document.createElement('td');//创建单元格节点
                td.innerHTML = arr[i][j] // 将属性值添加至td中
                mytr.appendChild(td)//添加单元格节点
            };

            // 创建操作单元格节点
            let td_delete = document.createElement('td');
            td_delete.innerHTML = '<a href="javscript:;">删除</a>'//屏蔽掉a的href跳转功能
            mytr.appendChild(td_delete);//添加至每一行
        };
        //获取所有a标签节点
        let a_arr = document.querySelectorAll('a');
        for (let i = 0; i < a_arr.length; i++) {//遍历所有节点
            a_arr[i].addEventListener('click', function () {
                //通过父节点tbody来删除它的子节点
                tbody.removeChild(this.parentNode.parentNode)
            });
        };
    </script>

页面输出结果如文章开头效果图

使用操作列单元格删除后得到如下表格

转载请注明出处或者链接地址:https://www.qianduange.cn//article/6491.html
标签
评论
发布的文章

什么是JSON 为什么使用它

2024-05-07 13:05:36

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!