• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > JS中对象的循环删除

JS中对象的循环删除

作者:skyfred的博客 字体:[增加 减小] 来源:互联网 时间:2017-09-11

skyfred的博客通过本文主要向大家介绍了js,循环,删除等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

业务说明:对页面元素名称为subCheck的所有元素循环删除。

错误代码如下:

var eles=document.getElementsByName("subCheck");

for(var =1,i<eles.length;i++){

var ele=eles[i];

$(ele).remove();

}

针对以上代码,若eles的长度为4的话,实际情况只能删掉2个。这是因为JS在删掉一个元素的同时,将eles集合中的元素同时删掉。也就是说被循环的集合是动态的。

比如,原eles[A,B,C,D]

第一次循环前   eles=[A,B,C,D]   i=0;  获得 ele=A,删除掉A 

第二次循环前   eles=[B,C,D]          i=1; 获得 ele=C ,删除掉C

第三次循环前   eles=[B,D]  i=2;这时i的值已经大于eles集合的长度,不再进入循环。

最后的结果就是只删除掉了部分元素。

 

正确的代码为:

var eles=document.getElementsByName("subCheck");

 

for(var =eles.length-1,i>=0;i--){

var ele=eles[i];

$(ele).remove();

}

针对以上代码,比如,原eles[A,B,C,D]

执行过程为:

第一次循环前   eles=[A,B,C,D]   i=3;  获得 ele=D,删除掉D 

第二次循环前   eles=[A,B,C]          i=2; 获得 ele=C ,删除掉C

第三次循环前   eles=[A,B]  i=1; 获得 ele=B, 删除掉B 

第三次循环前   eles=[A]  i=0; 获得 ele=A, 删除掉A 

此时i=-1,循环结束。

最后的结果是全部删除。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Vue 进阶教程之v-model详解
  • 使用nodejs爬取前程无忧前端技能排行
  • AngularJS封装$http.post()实例详解
  • Angularjs2不同组件间的通信实例代码
  • 详解node HTTP请求客户端 - Request
  • fullPage.js和CSS3实现全屏滚动效果
  • js实现数字递增特效【仿支付宝我的财富】
  • js和jquery中获取非行间样式
  • vue.js之vue-cli脚手架的搭建详解
  • Angular directive递归实现目录树结构代码实例

相关文章

  • 2017-05-11Bootstrap布局之栅格系统学习笔记
  • 2017-05-11AngularJS实现根据不同条件显示不同控件
  • 2017-05-11JS实现的Unicode编码转换操作示例
  • 2017-05-11vue-router:嵌套路由的使用方法
  • 2017-05-11jQuery实现导航回弹效果
  • 2017-05-11Javascript中的prototype与继承
  • 2017-05-11微信小程序 slider 详解及实例代码
  • 2017-05-11bootstrap3 dialog 更强大、更灵活的模态框
  • 2017-05-11JavaScript实现无穷滚动加载数据
  • 2017-05-11js实现简单的手风琴效果

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关于axios返回空对象的问题解决
    • js仿淘宝评价评分功能
    • jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
    • Javascript的垃圾回收机制
    • JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
    • JavaScript调试的多个必备小Tips
    • BootStrap组件之进度条的基本用法
    • javascript DOM的详解及实例代码
    • 微信小程序 本地存储及登录页面处理实例详解
    • Node.js中用D3.js的方法示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有