用JS实现删除买家信息(阿里巴巴模拟笔试)

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

姓名(name) 
性别(sex) 
电话号码(number) 
省份(province)

这里写图片描述

实现以下要求

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

完成下列代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!--code here-->
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <title>demo</title>
    <style>
        body,div,ul,li{ 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>
    <script>
        // 此处也可换成ES6的写法
        function Contact(){
            this.init();
        }
        // your code here
        Contact.prototype.init=function(){
            var uerDelete=document.getElementsByClassName("user-delete");
            var oUl=document.getElementById("J_List");
            var oLi=oUl.getElementsByTagName("li");
            for(var i= 0;i<uerDelete.length;i++) {
                (function(i) {
                    uerDelete[i].onclick = function () {
                       oLi[i].parentNode.removeChild(oLi[i]);
                    }
                })(i);
            }
        };
        var contact1=new Contact();
        contact1.init();
    </script>
</div>
</body>
</html>

填写代码处一:

这里使用meta标签的viewport来实现移动端页面自适应,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设备对该标签的解释方式及支持程度不同造成了不能兼容所有浏览器或系统。viewport 是用户网页的可视区域。翻译为中文可以叫做"视区"。手机浏览器是把页面放在一个虚拟的"窗口"(viewport)中,通常这个虚拟的"窗口"(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。

viewport标签极其属性:

扫描二维码关注公众号,回复: 156735 查看本文章

这是实现页面自适应的普遍方法,其他方法可见https://yusi123.com/2539.html

填写代码处二:

思路:先获取class为user-delete的所有div以及id为J_List的ul下的li,然后为每一个user-delete加上onclick事件,当点击时删除其父元素li。

在Javascript中,只提供了一种删除节点的方法:removeChild()。

removeChild() 方法指定元素的某个指定的子节点。

语法:

node.removeChild(node)

node 必需。希望删除的节点对象。

虽然removeChild()原本的作用使用来删除子节点,但是也可用来删除当前节点,例:
<div id="demo">
  <div id="thisNode">点击删除我</div>
</div>
<script type="text/javascript">
document.getElementById("thisNode").onclick=function(){
  this.parentNode.removeChild(this);
}
</script>

猜你喜欢

转载自www.cnblogs.com/SofiaTJU/p/9005239.html