JS实现li标签的删除

这篇博客探讨了如何运用面向对象的思想,通过原生JavaScript实现买家信息的删除功能。内容包括创建Contact函数,添加init方法以初始化并监听li元素的点击事件,当某个li元素被点击时,执行删除该元素的操作。整个过程不依赖任何第三方库,确保在手机端也有良好的显示效果。

利用面向对象思想完成买家信息删除功能,每一条信息包含:

  • 姓名
  • 电话
  • 电话号码
  • 省份

实现以下要求:
不能借用任何第三方库,需要使用原生代码实现。
结合给出的基本代码结构,在下方2处code here补充代码,完成买家信息的删除功能,注意此页面要在手机上清晰显示。
js代码可以任意调整,例如和使用es6代码完成。

基本代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <!--code here-->
    <title>demo</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .head, li div {
            display: inline-block;
            width: 70px;
            text-align: center;
        }

        li .id, li .sex, .id, .sex {
            width: 15px;
        }

        li .name, .name {
            width: 40px;
        }

        li .tel, .tel {
            width: 90px;
        }

        li .del, .del {
            width: 15px;
        }

        ul {
            list-style: none;
        }

        .user-delete {
            cursor: pointer;
        }

    </style>
</head>

<body>
<div id="J_container">
    <div class="record-head">
        <div class="head id">序号</div>
        <div class="head name">姓名</div>
        <div class="head sex">性别</div>
        <div class="head tel">电话号码</div>
        <div class="head province">省份</div>
        <div class="head">操作</div>
    </div>
    <ul id="J_List">
        <li>
            <div class="id">1</div>
            <div class="name">张三</div>
            <div class="sex"></div>
            <div class="tel">13788888888</div>
            <div class="province">浙江</div>
            <div class="user-delete">删除</div>
        </li>
        <li>
            <div class="id">2</div>
            <div class="name">李四</div>
            <div class="sex"></div>
            <div class="tel">13788887777</div>
            <div class="province">四川</div>
            <div class="user-delete">删除</div>
        </li>
        <li>
            <div class="id">3</div>
            <div class="name">王二</div>
            <div class="sex"></div>
            <div class="tel">13788889999</div>
            <div class="province">广东</div>
            <div class="user-delete">删除</div>
        </li>
    </ul>
</div>

<script>
    // 此处也可换成ES6的写法
    function Contact() {
        this.init();
    }

    // your code here
</script>
</body>
</html>

注意此页面要在手机上清晰显示,则应使用响应式meta标签:

 <meta name="viewport" content="width = device-width,initial-scale=1">

思路:
先获取所有的li标签,再判断哪个li标签被点击,点击后进行remove该元素操作。
基本代码中已经给出Contact函数,需要在函数中添加init方法:

    Contact.prototype.init = function () {
        console.log("Test");
        var div = document.getElementsByClassName("user-delete");
        var ul = document.querySelector("#J_List");
        var list = ul.querySelectorAll("li");

        for (var i = 0; i < div.length; i++) {
            (function (i) {
                div[i].onclick = function () {
                    list[i].remove();
                    console.log(i);
                }
            })(i);
        }
    }

    new Contact();
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值