利用javascript动态生成表格及注释

记录学习第一天  :关于javascript如何动态的生成表格

css样式想节省时间就没写,所以只有基本样式。

 html部分:

     创建一个表格(table)的头部(thead)和数据(tbody)标签。

<table border="1px"  cellspacing="0">
            <thead >
                <tr>
                    <th>姓名</th>
                    <th>学号</th>
                    <th>班级</th>
                    <th>年龄</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
            </tbody>
        </table>
    </div>
    <script src="../js/动态生成表格.js"></script>

 js部分:

1. 获取html的节点和创建静态数据的过程

 2.动态生成表格的过程

 3. 点击删除的时候删除节点的操作

要学习的知识点:

  • createElement(创建节点 )               用法 :document.createElement('要添加的节点');
  • appendChild(生成节点)                   用法 :父节点 .appendChild('子节点');
  • removeChild (删除节点 )                 用法: 父节点 .removeChild('子节点');
  • querySelectorAll (获取全部节点)     用法: document.querySelectorAll('节点');
  • querySelector(获取一个节点)     用法: document.querySelector('节点');
var th = document.querySelectorAll("th");
var father = document.querySelector("tbody");
//创建一个数组里面包含多个对象
var date = [
    {
        name: "张三",
        number: "456",
        classn: "19网络",
        age: 25
    },
    {
        name: "李四",
        number: "789",
        classn: "12网络",
        age: 29
    }]

//数组中有多少个对象便循环多少次
for (var i = 0; i < date.length; i++) {
    //创建一个名为tr的节点并赋给tr
    var tr = document.createElement("tr");
    //在father所在节点的子节点的最后一个节点后面添加一个tr节点
    father.appendChild(tr);
    //用for in 循环来遍历每个date中对象的属性值
    for (var key in date[i]) {
        //创建一个名为td的节点并赋给td
        var td = document.createElement('td');
        //td输出的文本为date数组中每个对象的属性值。
        td.innerHTML = date[i][key];
        //在tr的子节点从前往后依次添加一个td节点
        tr.appendChild(td);
    }
    //创建删除按钮
    //创建一个td节点
    var td = document.createElement('td');
    //td中的文本为删除a标签
    td.innerHTML = "<a href='javascript:;'>删除</a>" ;
    //在tr的子节点后面从前往后进行插入td节点
    tr.appendChild(td);
}

//当上面的操作执行完毕后 有数据和删除键 
//执行删除操作
//获取所有的节点a(删除)   
var aa = document.querySelectorAll('a');
//有多少个节点a便执行多少次循环(给每个节点a绑定点击事件)
for(var i = 0;i<aa.length;i++){
    //点击节点a执行函数
    aa[i].onclick = function() {
        //此时this指向aa[i]   this.parentNode.parentNode---->就是a标签的父亲(td)的父亲(tr)
        //删除节点  语法:父节点.renoveChild(父节点的子节点)
        father.removeChild(this.parentNode.parentNode)
    }
}

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值