html table可编辑表格数据实现删除

这里教大家使用纯html和js脚本结合实现删除表格数据

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <style>
        table {
            border-collapse: collapse;
            width: 100%;
        }
        
        th, td {
            border: 1px solid black;
            padding: 8px;
            text-align: left;
        }
    </style>
</head>
<body>
    <table id="editableTable">
        <thead>
            <tr>
                <th>Name</th>
                <th>Age</th>
                <th>Gender</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td contenteditable="true">John Doe</td>
                <td contenteditable="true">25</td>
                <td contenteditable="true">Male</td>
                <td><button onclick="deleteRow(this)">Delete</button></td>
            </tr>
            <tr>
                <td contenteditable="true">Jane Smith</td>
                <td contenteditable="true">30</td>
                <td contenteditable="true">Female</td>
                <td><button onclick="deleteRow(this)">Delete</button></td>
            </tr>
            <!-- 添加更多行 -->
        </tbody>
    </table>

    <script>
        function deleteRow(btn) {
            // 获取所在行
            var row = btn.parentNode.parentNode;
            // 获取所在表格
            var table = row.parentNode.parentNode;
            // 删除行
            table.deleteRow(row.rowIndex);
        }
    </script>
</body>
</html>

代码解释:

在上述示例中,每行的最后一列添加了一个按钮,并为按钮绑定了一个 onclick 事件,调用 deleteRow 函数。

JavaScript 部分的 deleteRow 函数接受按钮作为参数,在函数内部首先获取按钮的父节点,即所在的 <td> 元素,然后再获取 <td> 的父节点,即所在的行 <tr> 元素,最后获取行元素的父节点,即所在的表格 <table> 元素。

最后,调用 deleteRow 方法,将行的索引作为参数,从表格中删除该行。

这样,当用户点击某一行的"Delete"按钮时,相应的行将被删除。在实际项目中,可能需要进一步确认用户是否要删除该行,以及处理删除后的数据更新。

效果演示:

删除前:

点击按钮删除后:

相关推荐
笃行3506 小时前
使用Rokid AIUI做了一个童年推箱子游戏
前端
excel7 小时前
前端加密的作用与使用场景
前端
计算机魔术师8 小时前
纽约时报版权诉讼披露:微软高管内部称训练 AI 是人类历史上最大规模劳动窃取
前端
去伪存真9 小时前
大模型的参数量为什么那么大?
前端·人工智能
IT_陈寒9 小时前
Java空指针这次真把我坑惨了
前端·人工智能·后端
高级程序源10 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
八荒启·交互动画10 小时前
# Web特效020—让 Web 特效真正动起来:时间循环应该怎么接
前端·webgl·网页特效·八荒启-交互动画·八荒启
动恰客流统计10 小时前
线下零售数字化浪潮下,客流统计的3个核心发展趋势
大数据·前端·人工智能
lizz227610 小时前
Babel插件手册
javascript
用户9385156350710 小时前
从小米前端面试题,彻底搞懂闭包、作用域链与 useState 惰性初始化
前端·面试