动态添加和删除行记录

前端简单练习:动态添加和删除行记录

注意点:
1、a标签、表单标签点击后会有默认跳转行为。这个例子中我们不需要跳转,因此最后要return false来取消默认跳转行为
2、this对象存在于响应事件函数中,代表当前正在操作的DOM对象
3、在页面加载后我们要为a链接标签(删除按钮)添加点击事件,另外当我们新添加数据时,也要为a链接标签)添加点击事件。因此可以直接提取出一个函数。这个函数要直接替代点击函数的位置,而不是在点击函数中进行调用 (否则this对象无法使用,除非传参)
4、confirm是JS提供的一个提示确认框,用户点确定返回true,点取消返回false

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文档标题</title>
    <style>
        #user{
            margin: 10px auto;
            border: red 2px solid;
        }
        #mydiv{
            border: red 2px solid;
            width: 300px;
            margin: 0px auto;
            text-align: center;
        }
        a.hover{
            background: red;
        }
    </style>
    <script type="text/javascript" src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            //用来给a链接绑定单击事件,直接提出来作为单独的函数
            //直接将myfun函数作为要绑定事件的响应函数,这样this对象仍然是存在的,自动生成
            var myfun = function (){
                //获取点击链接所在的行
                var $parent = $(this).parent().parent();
                //获取用户名
                var text = $parent.find("th:first").text();
                //confirm是JS提供的一个提示确认框,用户点确定返回true,点取消返回false
                if( confirm("你确定要删除"+text) ){
                    $parent.remove();
                }
                //取消a标签的默认跳转行为
                return false;
            }

            //return false代表取消默认行为。对表单来说就是取消提交跳转的行为
            //点击提交按钮
            $("input[type='submit']").click(function (){
                //取值要用val,不能用attr
                var username = $("input:eq(0)").val();
                var email = $("input[type='email']").val();
                var salary = $("input[type='number']").val();
                //创建HTML元素,并添加进表格中
                $newHtml = $("<tr>\n" +
                    "<th>"+ username +  "</th>\n" +
                    "<th>" + email + "</th>\n" +
                    "<th>" + salary + "</th>\n" +
                    "<th><a>删除</a></th>\n" +
                    "</tr>");
                $newHtml.appendTo($("#user"));
                //给新添加的a标签绑定点击事件
                $newHtml.find("a").click( myfun )
                return false;
            })

            //点击删除按钮
            $("a").click( myfun )
        })
    </script>
</head>
<body>
    <table id="user">
        <tr>
            <th>name</th>
            <th>email</th>
            <th>salary</th>
            <th></th>
        </tr>
        <tr>
            <th>yqb</th>
            <th>1111111111@qq.com</th>
            <th>100</th>
            <th><a>删除</a></th>
        </tr>
        <tr>
            <th>keke</th>
            <th>222222222@qq.com</th>
            <th>500</th>
            <th><a>删除</a></th>
        </tr>
    </table>

    <div id="mydiv">
        <h4>添加新成员</h4><br/>
        <form method="get">
            username:<input type="text" name="username">
            <br/>
            email:<input type="email" name="email">
            <br/>
            salary<input type="number" name="salary">
            <br/>
            <input type="submit">
        </form>
    </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值