`
pavel
  • 浏览: 928092 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

removeChild的障眼法js 数组 动态更新非静态列表

阅读更多

有这么一段代码:


<ul id="demo">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>


 JavaScript:


var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
for (var i = 0; i < = liList.length; i++) {
  ul.removeChild(liList[i]);
}


 运行代码后 ,发现只剩下 节点b  了。

var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
for (var i = 0; i <  liList.length; i++) {
 ul.removeChild(liList[0]);
}
运行上面代码后,发现只剩下 节点c 了。

最后把length 提取出来, 先定义,缓存起来。

 

var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
var lilength =  liList.length;
for (var i = 0; i < lilength; i++) {
    ul.removeChild(liList[0]);
}


运行代码,才真正3个li都被删除。

通过这3个例子的对比,相信你已经发现其中的问题。

当然例子没什么实际意义,但可以看出removeChild 删除元素后,对html的即时影响。

做项目使用时,需要注意下。

或者可以用以下代码实现:


var ul = document.getElementById('demo');
while (ul.lastChild){
   ul.removeChild(ul.lastChild);
}

看这种方式是不是更好


while(liList.length){
  ul.removeChild(liList[liList.length-1])
}

分享到:
评论

相关推荐

    js removeChild 障眼法 可能出现的错误

    这个方法在处理动态DOM操作时非常常见,特别是在删除列表项、节点等元素时。然而,不恰当的使用`removeChild()`可能会导致一些错误或意想不到的结果,就像在描述中提到的“障眼法”。这里我们将详细讨论这种错误以及...

    javascript将json格式数组下载为excel表格的方法.docx

    ### JavaScript将JSON格式数组下载为Excel表格的方法 在日常的Web开发工作中,经常需要处理将数据导出到Excel的功能。本文将详细介绍如何使用JavaScript将JSON格式的数据数组转换并下载为Excel表格,帮助开发者实现...

    JavaScript二维数组实现的省市联动菜单_.docx

    该方法通过二维数组存储城市列表项,并使用 JavaScript 代码来实现省市联动菜单的功能。 知识点 1: JavaScript 二维数组 在 JavaScript 中,二维数组是一种数据结构,可以用来存储大量的数据。在本文中,使用二维...

    js使用removeChild方法动态删除div元素

    在JavaScript中,`removeChild`方法是用于动态删除DOM元素的关键功能之一,尤其在处理动态内容更新和交互的场景中,如用户查找功能。在这个场景中,我们需要在用户输入搜索条件后,根据Ajax异步请求返回的数据,实时...

    js表格操作,DOM实现数据动态增删查改

    在本主题"js表格操作,DOM实现数据动态增删查改"中,我们将深入探讨如何使用原生JavaScript通过DOM操作来实现数据在表格中的动态管理。 1. **创建表格**:首先,我们需要在HTML中创建一个基础的表格结构。这通常...

    js removeChild 方法深入理解

    标题中的知识点为“js removeChild 方法深入理解”,这说明我们需要详细了解JavaScript语言中removeChild方法的作用、使用场景以及其背后的原理。在给定的文件内容中,描述部分向我们预告了文章的内容安排,包括...

    javascript经典特效---列表的增加删除.rar

    总之,“javascript经典特效---列表的增加删除.rar”中的内容可能会涵盖以上提到的JavaScript DOM操作、事件监听以及动态更新列表的方法。通过学习和实践这些基础知识,你可以更好地掌握动态网页开发,并为构建交互...

    列表JS+CSS

    总结,"列表JS+CSS"涵盖了使用JavaScript进行表单控制和动态修改页面,以及用CSS美化表单和页面布局的技巧。通过这两者的结合,开发者可以创建出交互性强、视觉效果出色的网页列表。在实际应用中,这不仅提高了用户...

    js动态添加行和列

    在JavaScript编程领域,动态添加行和列是一种常见的需求,特别是在处理表格数据时。这涉及到DOM(文档对象模型)操作,允许网页在不重新加载的情况下更新其结构和内容。以下是对如何使用JavaScript动态添加行和列的...

    js无序列表

    在JavaScript中,无序列表(unordered list)通常用于在网页上呈现项目符号式的列表,例如星号、圆圈或方块。这些列表是由HTML `&lt;ul&gt;` 标签创建的,而JavaScript可以用来动态地添加、删除或修改这些列表项。在本教程...

    JavaScript动态网页编程(实例版)

    ### JavaScript动态网页编程(实例版) #### 知识点概览 1. **JavaScript简介** 2. **动态网页与静态网页的区别** 3. **JavaScript在动态网页中的作用** 4. **DOM操作** 5. **事件处理** 6. **AJAX技术** 7. **...

    JS动态增加删除表格行

    - **数据驱动**:将表格数据存储在JavaScript数组中,增加或删除行时直接操作数组,然后同步更新到DOM,这样可以避免直接操作DOM的频繁操作。 - **动画效果**:添加过渡动画可以使用户体验更好,比如在删除行时淡出...

    一个基于纯js实现的左右列表框源码

    在本资源中,我们主要探讨的是一个纯JavaScript实现的高级列表功能,这通常涉及到左右两个列表框之间的数据交互。这个实现对于那些希望在不依赖任何外部库或框架的情况下,使用JavaScript增强网页用户界面的开发者来...

    js动态生成table

    在JavaScript中,动态生成table是一种常见的网页交互功能,它允许我们根据需求在页面上实时创建、添加或删除表格行(tr)和单元格(td)。这个功能在数据展示、表格编辑或者用户交互丰富的应用场景中非常实用。下面...

    一个js的动态菜单菜单

    在JavaScript(JS)编程中,动态菜单是一种常见的交互式元素,用于提高网站用户体验。这个"一个js的动态菜单"项目,根据描述,旨在创建一个既兼容多种浏览器又能保证字符编码正确,避免乱码问题的菜单系统。下面我们...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十四:HTML DOM-文档元素的操作(二)

    在Web前端开发中,JavaScript与HTML DOM...通过学习本教程,你将能够更加自如地使用JavaScript动态地改变网页内容,实现丰富的交互效果。这不仅提升了用户体验,也为网页应用的扩展性和可维护性打下坚实基础。

    javascript移出节点removeChild()使用介绍.docx

    ### JavaScript 移除节点 `removeChild()` 方法使用详细介绍 #### 一、`removeChild()` 方法简介 在Web开发中,经常需要对DOM树进行各种操作,包括添加、修改和删除节点。JavaScript提供了一系列方法来帮助开发者...

Global site tag (gtag.js) - Google Analytics