原生JS实现列表项删除功能:面向对象与事件委托详解
本文介绍如何利用原生JavaScript,通过面向对象思想实现买家信息列表的删除功能。文章详细讲解了如何在Contact构造函数中封装init方法,获取DOM元素并绑定点击事件以移除对应的li标签。同时强调不使用第三方库,并针对手机端显示添加了响应式meta标签,确保页面在移动设备上清晰展示。
原生JS删除列表项功能概述
本文旨在通过面向对象的设计思想,实现买家信息的删除功能。每条信息记录包含以下字段:
- 姓名
- 电话
- 电话号码
- 省份
功能实现要求与规范
具体实现需满足以下要求:
禁止使用任何第三方库,必须完全使用原生代码完成。请结合提供的代码框架,在标记为“code here”的两个位置补充逻辑,以实现买家信息的删除功能。此外,需确保页面在手机终端上能够清晰显示。JavaScript代码可根据需要调整,例如采用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">
DOM操作与事件处理逻辑
实现思路如下:
首先获取页面中所有的li标签,然后判断具体点击了哪一个li标签,在触发点击事件后,执行remove操作将该元素从DOM中移除。
Contact对象初始化方法封装
基础代码中已提供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();
以上内容为本文的全部讲解,希望对读者的学习有所帮助,也欢迎大家继续支持本站。
JS监听滚动事件:回到顶部按钮的显示与隐藏逻辑
2026-11-05 16:19:37
JavaScript怎么读写LocalStorage与SessionStorage
2026-11-05 15:40:11
anime.js 与 GSAP 对比:轻量级项目该怎么选择动画库
2026-11-05 11:24:55
flv.js 与 hls.js 在直播场景下的选型对比
2026-11-05 08:18:52
JavaScript能做什么?前端开发中的作用与应用场景解析
2026-11-04 23:17:54
