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"按钮时,相应的行将被删除。在实际项目中,可能需要进一步确认用户是否要删除该行,以及处理删除后的数据更新。

效果演示:

删除前:

点击按钮删除后:

相关推荐
云枫晖6 分钟前
手写Promise-构造函数
前端·javascript
文心快码BaiduComate6 分钟前
用Comate Zulu开发一款微信小程序
前端·后端·微信小程序
王王碎冰冰10 分钟前
基于 Vue3@3.5+跟Ant Design of Vue 的二次封装的 Form跟搜索Table
前端·vue.js
naice1 小时前
我对github的图片很不爽了,于是用AI写了一个图片预览插件
前端·javascript·git
天蓝色的鱼鱼1 小时前
Element UI 2.X 主题定制完整指南:解决官方工具失效的实战方案
前端·vue.js
RoyLin1 小时前
TypeScript设计模式:门面模式
前端·后端·typescript
小奋斗1 小时前
千量数据级别的数据统计分析渲染
前端·javascript
小文刀6962 小时前
CSS-响应式布局
前端
三小河2 小时前
overflow:auto 滚动的问题,以及flex 布局中如何设置
前端·javascript
薛定谔的算法2 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端