js 添加、删除DOM元素

1. js添加、删除DOM元素

1.1. 添加DOM元素

1.1.1. appendChild()方法

  该方法添加的元素位于父元素的末尾,使用方法:
parentNode.appenChild(NewNode) // parentNode是需要添加元素的容器,NewNode是新添加的元素
  创建一个li元素并添加到ul的末尾:

       var ulDom = document.getElementById("ul_id");var htmlStr =//`<div class="member-li-layout" οnclick="clickFunc(${index})">`<div class="member-li-layout"><div class="member-item-layout"><span class="member-item-layout">姓名:</span><span class="member-item-content">${item.name}</span></div>   <div class="member-item-layout"><span class="userName">班级:</span><span class="member-item-content">${item.classroom}</span></div>                     </div>`;var liDom = document.createElement("li");liDom.setAttribute('class', `member-li-body`);liDom.setAttribute('data-name', item.name);liDom.innerHTML = htmlStr;ulDom.appendChild(liDom);

1.1.2. insertBefore()方法

  该方法可以将元素添加到指定位置,使用方法:
// parentNode是需要添加元素的容器,NewNode是新添加的元素, beforeNode是添加在哪个元素之前
  parentNode.insertBefore(newNode, beforeNode)
  创建一个li元素并添加在第二个li元素之前:

const ulNode = document.querySelectorAll('.list')[0],liNodes = document.querySelectorAll('.item'),liNode = document.createElement('li');
liNode.className = 'item';
liNode.innerHTML = 4;
ulNode.insertBefore(liNode, liNodes[1]);

1.2. 删除DOM元素

1.2.1. removeChid()方法

  该方法用于删除指定元素,使用方法:
  parentNode.removeChild(removeNode) // parentNode是需要删除元素的容器,removeNode是要删除的元素

   // //方法一:删除自身// var box=document.getElementById("ul_id");// box.remove();//方法二:删除子节点var ulDom = document.getElementById("ul_id");var lis = ulDom.querySelectorAll('li');for (i = lis.length; i > 0; i--) {ulDom.removeChild(lis[i - 1]);};

1.2.2. remove()方法

   // //方法一:删除自身/var box=document.getElementById("ul_id");// box.remove();

1.3. 示例代码

1.3.1. page-dom.html

<!doctype html>
<html>
<head><meta charset="utf-8"><title>点赞</title><meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><script type="text/javascript" src="../static/js/init-rem.js"></script><link rel="stylesheet" type="text/css" href="../static/css/mui.min.css"/><script type="text/javascript" src="../static/js/mui.min.js"></script><link rel="stylesheet" type="text/css" href="../static/css/base.css"/><link rel="stylesheet" type="text/css" href="../css/page-dom.css"/><script type="text/javascript" src="../static/js/jquery-3.1.1.min.js"></script>
</head>
<body>
<section class="base-title-layout2"><div class="base-title-bar2"><span class="base-title-back" onclick="history.go(-1)"><img src="../img/icon/icon_back.png"/></span><h1>dom</h1><a class="base-title-back"></a></div>
</section>
<div class="base-page-layout"><ul id="ul_id" class="member-ul-body"></ul>
</div>
<script type="text/javascript" src="../js/page-dom.js"></script>
</body>
</html>

1.3.2. page-dom.css


.member-ul-body {overflow-x: hidden;
}
.member-ul-body li {border-radius: 0.2rem;margin: 0.2rem 0.01rem;padding: 0.2rem 0.2rem;
}
.member-li-body  {background: #fff;
}
.member-li-layout {overflow: hidden;display: flex;flex-direction: column;
}
.member-item-layout {display: flex;flex-direction: row;align-items: center;margin: 0.05rem 0;
}
.member-item-title {color: black;text-align: center;font-size: 0.3rem;
}.member-item-content {color: #666666;text-align: center;font-size: 0.3rem;
}
.member-bottom-layout {display: flex;display: -webkit-flex;flex-direction: row;align-items: center;justify-content: space-between;-webkit-align-items: center;padding: 0 0.3rem;
}

1.3.3. page-dom.js

let myArr
$(function () {getData()
});function getData() {//获取json中数据$.getJSON(`../json/domJson.json`,function (res) {myArr = res.rows;myArr.forEach(function (item, index) {var ulDom = document.getElementById("ul_id");var htmlStr =//`<div class="member-li-layout" οnclick="clickFunc(${index})">`<div class="member-li-layout"><div class="member-item-layout"><span class="member-item-layout">姓名:</span><span class="member-item-content">${item.name}</span></div>   <div class="member-item-layout"><span class="userName">班级:</span><span class="member-item-content">${item.classroom}</span></div>                     </div>`;var liDom = document.createElement("li");liDom.setAttribute('class', `member-li-body`);liDom.setAttribute('data-name', item.name);liDom.innerHTML = htmlStr;ulDom.appendChild(liDom);})//详情goDetail()//清除数据//clearData()})
}/*** 点击item*/
function clickFunc(index) {console.log("name:" + myArr[index].name)
}
/*** 清除数据*/
function clearData() {// //方法一:删除自身// var box=document.getElementById("ul_id");// box.remove();//方法二:删除子节点var ulDom = document.getElementById("ul_id");var lis = ulDom.querySelectorAll('li');for (i = lis.length; i > 0; i--) {ulDom.removeChild(lis[i - 1]);}
}/*** 详情*/
function goDetail() {var lis = document.querySelector('#ul_id').querySelectorAll('li');for (i = 0; i < lis.length; i++) {//点击itemlis[i].addEventListener('tap', function () {var name = $(this).attr('data-name');console.log("name:" + name)});}
}

1.3.4. domJson.json

{"msg": "信息","code": 200,"rows": [{"name": "云兮","classroom": "一年级4班"},{"name": "晨曦","classroom": "二年级1班"},{"name": "佳宁","classroom": "三班2班"}]
}

1.4. 效果图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统分析师论文总结【持续更新】

2024年3月4日&#xff0c;新的软考规则出来&#xff0c;高项改为一年一次&#xff0c;架构师改为一年两次。 下半年考试安排&#xff0c;如下图&#xff08;来源官网&#xff09; 收集整理系统分析师论文&#xff0c;方便备查。 一、2010年论文 1、论软件维护及软件课维护性…

【STM32】HAL库 CubeMX 教程 --- 高级定时器 TIM1 定时

实验目标&#xff1a; 通过CUbeMXHAL&#xff0c;配置TIM1&#xff0c;1s中断一次&#xff0c;闪烁LED。 一、常用型号的TIM时钟频率 1. STM32F103系列&#xff1a; 所有 TIM 的时钟频率都是72MHz&#xff1b;F103C8不带基本定时器&#xff0c;F103RC及以上才带基本定时器。…

现代DevOps如何改变软件开发格局

在软件开发的早期&#xff0c;该过程通常是开发人员编写代码&#xff0c;再将其交给质量保证&#xff08;QA&#xff09;进行测试。这种瀑布开发方法可能会导致质量问题和延迟&#xff0c;因为问题是在周期后期发现的。 一、了解DevOps和测试左移 DevOps是Development和Opera…

解决Gradle下载过慢问题的有效方式:使用国内镜像站点

前言 在开发过程中&#xff0c;我们经常会遇到Gradle下载速度缓慢或超时的问题。作为一个强大而流行的构建工具&#xff0c;Gradle是许多项目中必不可少的一部分。然而&#xff0c;由于官方下载地址可能受网络限制影响&#xff0c;导致下载速度较慢。针对这个问题&#xff0c;…

【题解】—— LeetCode一周小结10

【题解】—— 每日一道题目栏 上接&#xff1a;【题解】—— LeetCode一周小结9 4.用栈实现队列 题目链接&#xff1a;232. 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a…

基于ACM32 MCU的电动滑板车方案了,助力低碳出行

随着智能科技的快速发展&#xff0c;电动滑板车的驱动系统也得到了长足的发展。国内外的电动滑板车用电机驱动系统分为传统刷式电机和无刷电机两种类型。其中&#xff0c;传统的刷式电机已经逐渐被无刷电机所取代&#xff0c;无刷电机的性能和寿命都更出色&#xff0c;已成为电…

【APP逆向】酒仙网预约茅台程序,包含逆向过程详解

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:爬虫实战,零基础、进阶教学 景天的主页:景天科技苑 文章目录 酒仙网预约抢购茅台1.抓包分析,账户名和密码登录2.短信登录3.登录+茅台预约 密码登录酒仙网预约抢购茅台 目标:账号登…

退磁曲线方形度Q与膝点Hk

大家都知道衡量钕铁铁磁体性能的指标包括剩磁Br、矫顽力HcB、内禀矫顽力HcJ和最大磁能积(BH)max&#xff0c;除此之外&#xff0c;内禀曲线方向度和Hk也是磁应用工程师非常关注的两个指标&#xff0c;今天就来了解一下这两个指标的含义及影响因素。 首先我们先来回顾一下什么是…

数据库备份脚本嘎嘎香,被秀到了!

1.Oracle RMAN备份 1.1 创建目录 [oracleOEL7 ~]$ mkdir -p /u01/dbbak/script [oracleOEL7 ~]$ cd /u01/dbbak [oracleOEL7 ~]$ chown -R oracle:oinstall script[oracleOEL7 ~]$ mkdir -p /u01/dbbak/db [oracleOEL7 ~]$ mkdir -p /u01/dbbak/arch [oracleOEL7 ~]$ cd /u01…

In-Memory Key-Value Store Live Migration with NetMigrate——泛读笔记

FAST 2024 Paper 论文阅读笔记整理 问题 分布式键值存储需要在节点之间频繁迁移键值碎片&#xff0c;以对动态工作负载变化做出反应&#xff0c;从而实现负载平衡、数据局部性和服务弹性。 现有方法局限性 现有的实时迁移技术必须假设一个或多个位置作为主查询服务点&#…

某图网查看大图接口结果加密逆向之数据解密扣取

逆向网址 aHR0cHM6Ly95ZXNtenQuY29tLw 逆向链接 aHR0cHM6Ly95ZXNtenQuY29tL2JlYXV0eS8 逆向接口 aHR0cHM6Ly95ZXNtenQuY29tL2FwcC9wb3N0L3A/aWQ9MTA3NjQy 那么我们可以看到接口请求结果为加密数据&#xff0c; 需要手动解开才可以拿到数据 展示图片大图 逆向过程 请求方式&…

管易云对接打通金蝶K3-WISE调整单查询接口与新增其他出库接口

管易云对接打通金蝶K3-WISE调整单查询接口与新增其他出库接口 来源系统:管易云 管易云是上海管易云计算软件有限公司旗下的专注提供电商企业管理软件服务的品牌&#xff0c;总部位于中国上海张江高科技产业园区。管易云旗下拥有管易云C-ERP、EC-OMS、EC-WMS、B2C/B2B/BBC/微商城…

专题二 - 滑动窗口 - leetcode 3. 无重复字符的最长子串 | 中等难度

leetcode 3. 无重复字符的最长子串 leetcode 3. 无重复字符的最长子串 | 中等难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 3. 无重复字符的最长子串 | 中等难度 1. 题目详情 给定一个字符串 s…

运营商关注焦点访谈:如何将裸光纤资源价值最大化?

引言 当遇见裸光纤租赁业务&#xff0c;运营商如何合理规划、分配纤芯资源&#xff1f;相信这是每个运营商伙伴都遇见过的问题。我们经过多用户调研访谈&#xff0c;发现规划与分配并不难&#xff0c;真正的难点在于将这些哑资源、暗资源“合理规划与分配”&#xff0c;合理才…

公众号如何获取视频号下载工具?

视频内容已经成为信息传播的重要载体&#xff0c;微信视频号作为国内主流的短视频平台之一&#xff0c;深受用户喜爱。有时我们想要保存喜欢的视频以供日后观看&#xff0c;这时就需要借助一些公众号提供的视频号下载工具。 本文将详细解析如何利用这些工具&#xff0c;让你轻…

【C++从练气到飞升】02---初识类与对象

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 ⛳️推荐 一、面向过程和面向对象初步认识 二、类的引用 1. C语言版 2. C版 三、类的定义 类的两种定义方式&#xff…

P8680 [蓝桥杯 2019 省 B] 特别数的和:做题笔记

目录 思路 代码 题目链接&#xff1a; P8680 [蓝桥杯 2019 省 B] 特别数的和 思路 最开始我思路主要是从数字转字符串上想的。因为我们需要判断每一位是否是特殊数&#xff0c;字符串很容易做到这一点&#xff0c;只是在数字相加这一步不好实现。 需要用到字符串与数字的…

【Python从入门到进阶】50、当当网Scrapy项目实战(三)

接上篇《49、当当网Scrapy项目实战&#xff08;二&#xff09;》 上一篇我们讲解了的Spider与item之间的关系&#xff0c;以及如何使用item&#xff0c;以及使用pipelines管道进行数据下载的操作&#xff0c;本篇我们来讲解Scrapy的多页面下载如何实现。 一、多页面下载原理分…

【竞技宝】LOL:TES连下两局轻松击败OMG

【竞技宝】LOL&#xff1a;TES连下两局轻松击败OMG 北京时间2024年3月9日&#xff0c;英雄联盟LPL2024春季常规赛继续进行&#xff0c;昨日共进行三场比赛&#xff0c;第三场比赛由TES对阵OMG。本场比赛&#xff0c;TES的打野选手tian个人表现出色&#xff0c;两局比赛都多次成…

pyqt线程正确使用

PyQt之科学使用线程处理耗时任务以及线程通信方法 上面这篇文章看似很科学… 经过实际测试&#xff0c;需要按下面创建线程&#xff1a; self.work EmailWork() self.thread QtCore.QThread() self.thread.start()self.work.moveToThread(self.thread) self.work.complete_…