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.hqwc.cn/news/527487.html

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

相关文章

Hack The Box-Crafty

目录 信息收集 rustscan whatweb WEB 漏洞利用 漏洞说明 漏洞验证 提权 get user.txt get Administrator 总结 信息收集 rustscan ┌──(root㉿ru)-[~/kali/hackthebox] └─# rustscan -a 10.10.11.249 --range0-65535 --ulimit5000 -- -A -sC [~] Automatically…

php调用guzzlehttp库时出现Segmentation fault的解决方案

先说结论&#xff0c;这个问题的原因是因为php7.4与openssl3不兼容产生的&#xff0c;解决方案如下&#xff1a; 输入openssl version -a查看openssl版本&#xff0c;如果是3以上的版本与php7.4不兼容&#xff0c;7.4以下的没测试过&#xff0c;估计也有问题。我最终是安装上了…

九州金榜|孩子厌学的因素及解决办法

孩子在学习的过程中&#xff0c;遇到厌学这种情况非常容易见到&#xff0c;这也是孩子在成长的过程中经常遇到的烦恼。面对孩子的厌学&#xff0c;作为家长这时候不要慌乱&#xff0c;要做到分析孩子产生厌学的原因&#xff0c;在去寻找解决孩子厌学的办法。下面九州金榜家庭教…

Android fragment的使用案例

效果图&#xff1a;两个点击事件&#xff0c;显示不同的fragment布局 默认是如下图&#xff0c;点击页面一也如下图 点击页面二如下图&#xff1a; Android Fragment的生命周期是与其所在的Activity紧密相关的。当一个Fragment被添加到Activity中时&#xff0c;它将经历一系列…

消息队列 MQ

文章目录 1. MQ 相关概念1.1 什么是 MQ1.2 为什么要用 MQ1.3 MQ 分类1.4 MQ 的选择 1. MQ 相关概念 1.1 什么是 MQ MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是 message 而已&#x…

酷开科技以消费者需求为导向冲刺OTT行业的星辰大海

通过大屏营销、互动营销等方式&#xff0c;提升品牌认知度和市场竞争力。酷开科技始终坚持以消费者的需求为导向&#xff0c;致力于为品牌方和消费者搭建高效、准确的沟通桥梁&#xff0c;开创OTT大屏营销新纪元。 伴随技术发展&#xff0c;智能电视已经从“尝鲜”变成了主流产…

如何保证对外接口的安全?

文章目录 前言一、生成及校验Token1.1 生成Token1.2 校验Token1.3 SignUtil 签名工具类 前言 1.什么是安全接口&#xff1f; 通常来说要将暴露在外网的 API 接口视为安全接口&#xff0c;需要实现防篡改和防重放的功能。 1.1 什么是篡改问题&#xff1f; 由于 HTTP 是一种无状…

STM32CubeIDE基础学习-STM32CubeIDE软件程序下载方法

STM32CubeIDE基础学习-STM32CubeIDE软件代码下载方法 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件代码下载方法前言第1章 代码下载第2章 下载器固件更新总结 前言 编写完代码&#xff0c;一般都会选择在线下载程序的方式进行验证该程序是否正确&#xff0c;如果发现结果和…

2024年【化工自动化控制仪表】考试总结及化工自动化控制仪表作业考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【化工自动化控制仪表】考试总结及化工自动化控制仪表作业考试题库&#xff0c;包含化工自动化控制仪表考试总结答案和解析及化工自动化控制仪表作业考试题库练习。安全生产模拟考试一点通结合国家化工自动化控…

CorelDRAW2024新功能有哪些 ?CorelDRAW2024最新版本更新怎么样

coreldraw 2024是一款非常好用的设计软件&#xff0c;功能非常强大&#xff0c;它可应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等领域&#xff0c;因此受到了不少设计师的青睐&#xff0c; CorelDRAW2024新功能有哪些&#xff1f;CorelDRAW2024最新版本更新…

uniapp iOS 真机调试

一、下载爱思助手 二、打开爱思助手&#xff0c;把你的 苹果手机 用原装数据线连接至电脑&#xff1a; 找到 工具箱 > 搜索IPA > 打开IAP签名 三、添加 IPA 文件 mac&#xff1a;finder 》应用程序 》右键 HbuilderX 》显示包内容 》HbuilderX / plugins/ lau…

论文阅读:Diffusion Model-Based Image Editing: A Survey

Diffusion Model-Based Image Editing: A Survey 论文链接 GitHub仓库 摘要 这篇文章是一篇基于扩散模型&#xff08;Diffusion Model&#xff09;的图片编辑&#xff08;image editing&#xff09;方法综述。作者从多个方面对当前的方法进行分类和分析&#xff0c;包括学习…