iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >html5中JavaScript removeChild怎么删除所有节点
  • 579
分享到

html5中JavaScript removeChild怎么删除所有节点

2024-04-02 19:04:59 579人浏览 泡泡鱼
摘要

这篇文章主要讲解了“HTML5中javascript removeChild怎么删除所有节点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“html5中Jav

这篇文章主要讲解了“HTML5javascript removeChild怎么删除所有节点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“html5中JavaScript removeChild怎么删除所有节点”吧!

假设div里有这么些内容:

代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta Http-equiv="Content-Type" content="text/html;charset=GBK"> 
<title>iScroll demo: simple</title> 
<script type="text/javascript"> 
function deleteData(){ 
} 
</script> 
<style type="text/CSS" media="all"> 
body,ul,li { 
padding:0; 
margin:0; 
border:0; 
} 
body { 
font-size:12px; 
-WEBkit-user-select:none; 
-webkit-text-size-adjust:none; 
font-family:helvetica; 
} 
</style> 
</head> 
<body> 
<div ><input type="submit" name="button" id="button" value="删除li节点" class="button gray" onclick="deleteData()" /> </div> 
<div > 
<ul id="thelist"> 
<li>Pretty row 1</li> 
<li>Pretty row 2</li> 
<li>Pretty row 3</li> 
<li>Pretty row 4</li> 
<li>Pretty row 5</li> 
<li>Pretty row 6</li> 
<li>Pretty row 7</li> 
<li>Pretty row 8</li> 
<li>Pretty row 9</li> 
<li>Pretty row 10</li> 
<li>Pretty row 40</li> 
</ul> 
</div> 
</body> 
</html>


现在要通过JavaScript的功能,将它们清空。

虽然可以通过一句代码直接实现:

document.getElementById("content").innerHTML=""

但是本文里主要讨论 removeChild 函数。

很想当然地以为借助下面的代码就能完成:

代码如下:

function deleteData(){ 
var el = document.getElementById('thelist'); 
var linodes = document.getElementsByTagName("li"); 
alert(liNodes.length); 
for(var i = 0; i < liNodes.length; i++){ 
alert("删除"+i+" liNodes[i]="+ liNodes[i]); 
el.removeChild(liNodes[i]); 
//<-- el.removeChild(liNodes[i]); 
} 
}


没想到,点击了按钮后,竟然只清除掉1、3、5...,而2、4、6....竟然没有消失,

问题从一开始就产生了:

删除掉第一个节点后,后面节点的顺序全部发生了变化:原来的第二个节点往前蹭,成为新的第一个节点;原来的第三个节点,成为第二个节点&hellip;&hellip;

于是呢,接下来原本是要删除第二个节点的,却将最原始的第三个节点给删除掉了。

最终,并没有全部删除,只删除掉1、3、5,留下了2、4、6。

语法没有错误,但是得不到所要的结果,这就是算法上面的错误!该如何修正呢?

“顺序删除”不行,那就“逆序删除”吧。将 for 语句修改一下:

代码如下:

function deleteData(){ 
var el = document.getElementById('thelist'); 
var liNodes = document.getElementsByTagName("li"); 
alert(liNodes.length); 
for(var i = liNodes.length-1; i >=0; i--){ 
alert("删除"+i+" liNodes[i]="+ liNodes[i]); 
el.removeChild(liNodes[i]); 
//<-- el.removeChild(liNodes[i]); 
} 
}


试试吧,成功了!还可以使用下面方法:

代码如下:

function deleteData() { var el = document.getElementById('thelist'); var liNodes = document.getElementsByTagName("li"); alert(liNodes.length); for (var i=0;i<el.childNodes.length;i++){ var childNode = el.childNodes[0]; //总是删除第一个,是不是更简单 el.removeChild(childNode); } }

完成代码如下所示:

代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=GBK"> 
<title>iScroll demo: simple</title> 
<script type="text/javascript"> 
function initData(){ 
var el = document.getElementById('thelist'); 
var liNodes = document.getElementsByTagName("li"); 
alert(liNodes.length); 
for(var i = liNodes.length-1; i >=0; i--){ 
alert("删除"+i+" liNodes[i]="+ liNodes[i]); 
el.removeChild(liNodes[i]); 
//<-- el.removeChild(liNodes[i]); 
} 
} 
</script> 
<style type="text/css" media="all"> 
body,ul,li { 
padding:0; 
margin:0; 
border:0; 
} 
body { 
font-size:12px; 
-webkit-user-select:none; 
-webkit-text-size-adjust:none; 
font-family:helvetica; 
} 
</style> 
</head> 
<body> 
<div ><input type="submit" name="button" id="button" value="删除li节点" class="button gray" onclick="initData()" /> </div> 
<div > 
<ul id="thelist"> 
<li>Pretty row 1</li> 
<li>Pretty row 2</li> 
<li>Pretty row 3</li> 
<li>Pretty row 4</li> 
<li>Pretty row 5</li> 
<li>Pretty row 6</li> 
<li>Pretty row 7</li> 
<li>Pretty row 8</li> 
<li>Pretty row 9</li> 
<li>Pretty row 10</li> 
<li>Pretty row 40</li> 
</ul> 
</div> 
</body> 
</html>

感谢各位的阅读,以上就是“html5中JavaScript removeChild怎么删除所有节点”的内容了,经过本文的学习后,相信大家对html5中JavaScript removeChild怎么删除所有节点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: html5中JavaScript removeChild怎么删除所有节点

本文链接: https://www.lsjlt.com/news/75799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • html5中JavaScript removeChild怎么删除所有节点
    这篇文章主要讲解了“html5中JavaScript removeChild怎么删除所有节点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“html5中Jav...
    99+
    2024-04-02
  • html5中怎么用JavaScript removeChild删除所有节点
    这篇文章主要介绍“html5中怎么用JavaScript removeChild删除所有节点”,在日常操作中,相信很多人在html5中怎么用JavaScript removeChild删除所有节点问题上存在...
    99+
    2024-04-02
  • Javascript removeChild()删除节点及删除子节点的方法
    在JavaScript中,可以使用`removeChild()`方法删除一个指定的子节点。要删除一个节点及其子节点,需要先遍历该节点的子节点,并递归调用`removeChild()`方法来删除每个子节点。以下是一个示例代码,演示如何使用...
    99+
    2023-08-09
    Java
  • js中怎么使用removeChild()删除节点
    在JavaScript中,可以使用`removeChild()`方法从父节点中删除一个指定的子节点。下面是一个例子,演示如何使用`r...
    99+
    2023-09-12
    js
  • javascript删除所有节点的方法
    这篇文章主要介绍了javascript删除所有节点的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript是什么JavaScript是一种直译式的脚本语言,其...
    99+
    2023-06-14
  • js中怎么使用removeChild()方法删除dom节点
    这篇文章将为大家详细讲解有关js中怎么使用removeChild()方法删除dom节点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript是什么JavaScript是一种直译式的脚本语言,其...
    99+
    2023-06-14
  • 怎么在javascript中删除节点
    这篇文章给大家介绍怎么在javascript中删除节点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法1:使用remove()删除节点remove()方法可用于删除父节点上的所有元素,包括所有文本和子节点。示例:删除...
    99+
    2023-06-14
  • 怎么在JavaScript中删除dom节点
    这篇文章给大家介绍怎么在JavaScript中删除dom节点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出响应。3、读写HTML元...
    99+
    2023-06-14
  • 怎么在javascript中删除所有cookie
    今天就跟大家聊聊有关怎么在javascript中删除所有cookie,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。javascript删除所有的cookie的方法:只需一个js函数即...
    99+
    2023-06-14
  • jquery如何删除节点下所有元素
    这篇文章主要讲解了“jquery如何删除节点下所有元素”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery如何删除节点下所有元素”吧! ...
    99+
    2024-04-02
  • javascript中节点的删除方法
    这篇文章将为大家详细讲解有关javascript中节点的删除方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript删除节点的方法:1、使用remove()方法,可用于删除父节点上的所有元素...
    99+
    2023-06-14
  • JavaScript中dom如何添加、删除节点
    这篇文章将为大家详细讲解有关JavaScript中dom如何添加、删除节点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript是一种什么语言javascript是一种动态类型、弱类型的语言,...
    99+
    2023-06-14
  • 使用递归怎么删除树形结构的所有子节点
    使用递归怎么删除树形结构的所有子节点?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.业务场景有如下树形结构: +—0 +—1 +—2 +—4 +—5 +—3如...
    99+
    2023-05-31
    递归
  • 怎么在JavaScript中使用remove方法删除dom节点
    今天就跟大家聊聊有关怎么在JavaScript中使用remove方法删除dom节点,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。javascript是一种什么语言javascript...
    99+
    2023-06-14
  • LINQ怎么删除XML节点
    本篇内容主要讲解“LINQ怎么删除XML节点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ怎么删除XML节点”吧!LINQ删除特定的XML节点的C#代码:using Syste...
    99+
    2023-06-17
  • k8s怎么删除节点标签
    Kubernetes(K8s)中删除节点标签的方法如下: 查看当前节点的标签: kubectl get nodes 删除节点...
    99+
    2024-03-14
    k8s
  • Cassandra怎么添加或删除节点
    要向Cassandra集群添加或删除节点,您可以按照以下步骤操作: 添加节点: 首先,在要添加的新节点上安装Cassandra软件...
    99+
    2024-04-02
  • SQL 中怎么利用双亲节点查找所有子节点
    这期内容当中小编将会给大家带来有关SQL 中怎么利用双亲节点查找所有子节点,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建表如下CREATE TABLE&nb...
    99+
    2024-04-02
  • activiti怎么获取所有节点
    在Activiti中,可以使用`RepositoryService`接口的`createProcessDefinitionQuery...
    99+
    2023-08-15
    activiti
  • oracle怎么删除表中所有数据
    您可以使用以下SQL语句来删除Oracle表中的所有数据:```DELETE FROM 表名;```请注意,这将删除表中的所...
    99+
    2023-09-14
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作