JS中如何删除某个父元素下的所有子元素?
JS中如何删除某个父元素下的所有子元素?这里我介绍几种方法:
1.通过元素的 innerHTML 属性来删除
这种方式我觉得是最有方便的,直接找到你想要的父元素,直接令其 element.innerHTML = "";
举例说明:
<input type="button" value="按钮" id="btn">
<div id="dv">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<script>
document.getElementById("btn").onclick = function () {
document.getElementById("dv").innerHTML = "";
}
</script>
2.通过 removeChild() 方法来删除
removeChild() 的用法是先找到父级元素parent,然后调用 parent.removeChild(thisNode) 来删除当前子节点(thisNode),那我们只要循环遍历删除所有的即可。
举例说明:
<input type="button" value="按钮" id="btn">
<div id="dv">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<script>
document.getElementById("btn").onclick = function () {
// 获取 div 标签
var div = document.getElementById("dv");
// 获取 div 标签下的所有子节点
var pObjs = div.childNodes;
for (var i = pObjs.length - 1; i >= 0; i--) { // 一定要倒序,正序是删不干净的,可自行尝试
div.removeChild(pObjs[i]);
}
}
</script>
注意:循环遍历的时候一定要倒序,因为正序的时候,当你把索引为0的子节点删除后,那么原来索引为1的就变成了0,而这时变量 i 已经变成1了,程序继续走时就会删除原先索引为2的现在为1的节点,结果就是最后只删除了一半的节点,朋友们可自行尝试理解一下。
3.通过 jQuery 中 empty() 方法来删除
语法:
$(selector).empty()
举例说明:
<input type="button" value="按钮" id="btn">
<div id="dv">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<script src="jquery-3.4.1.js"></script>
<script>
$("#btn").click(function () {
$("#dv").empty();
})
</script>
JS中如何删除某个父元素下的所有子元素?的更多相关文章
- css如何让父元素下的所有子元素高度相同
小颖最近做的项目中要实现一个样式 ,小颖怕自己忘记了,写个随笔记下来 需求父元素下有多个子元素,并且子元素过多时要实现自动换行,给每个子元素都加了右边框,而每个子元素里的内容多少不一定,这就会产生右边 ...
- js中如何删除某个元素下面的所有子元素?(两种方法)
js中如何删除某个元素下面的所有子元素?(两种方法) 一.总结 方法一:通过元素的innerHTML属性 元素element.innerHTML=""; 方法二:通过元素的remo ...
- js删除一个父元素下面的所有子元素
比如<div id="ok"><button tpye='button'>111111</button><p>22222</p ...
- JS中彻底删除json对象组成的数组中的元素
只是分享一个小知识~ 在JS中,对于某个由json对象组成的数组,例如: var test = [{ "a": "1", "b": &quo ...
- SQL查询父节点下的所有子节点(包括子节点下的子节点,无限子节点)
-->Title:Generating test data -->Author:wufeng4552 -->Date :2009-09-30 08:52:38 set nocount ...
- 帝国cms 灵动标签【列表页】调用当前父栏目下的所有子栏目
<? $bclassid = $class_r[$GLOBALS[navclassid]][bclassid]; //获取当前父栏目ID ?> [e:loop={"select ...
- 关于Jquery.validate.js中动态删除验证remove方法的Bug
利用Jquery.validate.js 来做动态验证的时候,需要特定的情况下,删除添加opAmount的必须入力的Check $("#form").validate({ rule ...
- js中数组删除 splice和delete的区别,以及delete的使用
var test=[];test[1]={name:'1',age:1};test[2]={name:'2',age:2};test[4]={name:'3',age:3}; console.log( ...
- JS中delete删除对象属性
1.删除对象属性 function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm ...
随机推荐
- SQL语句的整理
mysql语句的整理 1.SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法.但是 SQ ...
- 没想到吧,Spring中还有一招集合注入的写法
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. Spring作为项目中不可缺少的底层框架,提供的最基础的功能就是bean的管理了.bean的注入相信大家都比较熟 ...
- go 编程规范
如果没有编程规范会有什么问题? 哪些地方可以需要指定规范? 非编码类规范:编码规范 非编码规范 开源规范 http://www.ruanyifeng.com/blog/2011/05/how_to_c ...
- react配置postcss-pxtorem适配
适配移动端操作如下: 安装 postcss-pxtorem .amfe-flexible npm i postcss-pxtorem npm i amfe-flexible amfe-flexible ...
- js基础学习-数组
let arr1 = [ {name: 1} ] let arr2 = [ {age: 23} ] let ages = [11, 22, 23] let newArr = arr1.concat(a ...
- 【每天学一点-03】 使用Html5+Less实现简单的静态登录界面(入门Less)
1.首先引用Less 有npm安装.cdn引用.或者下载Less.js本地引用,我采用的是第三种方法 less.js引用: 下载地址:https://github.com/less/less.js/t ...
- 第二十一天python3 python的正则表达式re模块学习
python的正则表达式 python使用re模块提供了正则表达式处理的能力: 常量 re.M re.MULTILINE 多行模式 re.S re.DOTALL 单行模式 re.I re.IGNORE ...
- 石火电光追风逐日|前端优化之次时代图片压缩格式WebP的项目级躬身实践(Python3 PIL+Nginx)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_190 我们知道,在前端界有一个共识:速度就是生命,带宽就是金钱.怎样将页面加载速度有效提升是无数前端工程师无时不刻在思考的课题,目 ...
- 8月Meetup | “数据调度+分析引擎”解锁企业数字化转型之路
编辑切换为居中 添加图片注释,不超过 140 字(可选) 大数据是一种规模大到在获取.存储.管理.分析方面大大超出了传统数据库软件工具能力范围的数据集合,而大数据作为企业运转的基础,只有经过提 ...
- 我和Apache DolphinScheduler的这一年
Apache DolphinScheduler,为Apache开源项目, 简称"DS", 中文名 "小海豚调度"(海豚聪明.人性化,又左右脑可互相换班,终生不用 ...