动态获取表格数据-事件监听函数和传统函数区别

动态获取表格数据-事件监听函数和传统函数区别

Document
<table cellspacing="0">
    <thead>
        <tr>
            <th>姓名</th>
            <th>科目</th>
            <th>成绩</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>

    </tbody>
</table>

<script>
    var data = [{
        name: '魏璎珞',
        subject: 'Javascript',
        score: 95
    }, {
        name: '弘利',
        subject: 'Javascript',
        score: 96
    }, {
        name: '富恒',
        subject: 'Javascript',
        score: 97
    }, {
        name: '明宇',
        subject: 'Javascript',
        score: 98
    }];

    // 传统方式点击函数处理
    // var tbody = document.querySelector('tbody');
    //	遍历data
    // for (var i = 0; i < data.length; i++) ;
    //	每个i创建一行
    //     var creTr = document.createElement('tr');
    //     tbody.appendChild(creTr);
    // 	循环data内的对象确定td的数量,并将数据添加到每一个td内
    //     for (var j in data[i]) {
    //         var td = document.createElement('td');
    //         td.innerHTML = data[i][j];
    //         creTr.appendChild(td);
    //     }
    //	创建最后一个单元格的删除按钮
    //     var td = document.createElement('td');
    //     td.innerHTML = '<a href="javascript:;" onclick="del(this)">删除</a>';
    //     creTr.appendChild(td);
    // }

    // function del(d) {
    //     tbody.removeChild(d.parentNode.parentNode);
    // }

    // 使用事件监听处理

    var tbody = document.querySelector('tbody');
    for (var i = 0; i < data.length; i++) {
        var creTr = document.createElement('tr');
        tbody.appendChild(creTr);
        for (var j in data[i]) {
            var td = document.createElement('td');
            td.innerHTML = data[i][j];
            creTr.appendChild(td);
        }
        var td = document.createElement('td');
        td.innerHTML = '<a href="javascript:;">删除</a>';
        creTr.appendChild(td);
    }

    var s = document.querySelectorAll('a');
    for (var i = 0; i < s.length; i++) {
        s[i].addEventListener('click', function() {
            tbody.removeChild(this.parentNode.parentNode);
        })
    }

</script>
`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值