js删除节点

问题描述

<html><head><script type="text/javascript"> function getColumn(){ var d=new Array(); d= document.getElementById("column").childNodes; for(var i=0 ;i < d.length; i++){ document.getElementById("column").removeChild(d.item(i)); } var name=document.getElementById("tableName").value; var column=document.getElementById("column"); } </script></head><body> <input type="button" value="button"onclick="getColumn()"> <select id="column" size=8 multiple> <option>ddd</option> <option>eee</option> <option>aaa</option> </select></body></html>为什么点按钮没有一次性删除

解决方案

<html> <head> <script type="text/javascript"> function getColumn(){ document.getElementById("column").options.length=0; } </script> </head> <body> <input type="button" value="button"onclick="getColumn()"> <select id="column" size=8 multiple> <option>ddd</option> <option>eee</option> <option>aaa</option> </select> </body> </html> 本地已测!
解决方案二:
之所以用一个变量var len;是因为option数组在删除的时候数量变了,把数组长度赋值给这个变量就不会出现变化而你要删除所有,那么所做的循环次数应该跟数组长度一样,所以先确定要循环多少次,循环体直接循环删除option数组的第一个元素
解决方案三:
option数组本身提供了删除方法remove()传递一个参数,就是option的下标,从0开始
解决方案四:
function getColumn(){ var d = document.getElementById("column").options; var len = d.length; for(var i=0 ;i < len; i++){ alert(d[0].text); d.remove(0); } } 这样就可以了首先,拿到所有option,是一个数组,不用先new Array(),这是多余的,浪费内存,虽然不多,但没必要。其次,删除的时候option数组是在变化的,所以一直删除下标为0的那个,也就是删除一直第一个就可以了,不然删不完
解决方案五:
for(var i=0 ;i < d.length; i++) 这一句,你取得是d.length,当你删除一项的时候,这个数值减一,所以不可能完全删除。在此基础上的修改为:for(var i=0 ;i < d.length;) 就能完全删除
解决方案六:
这样就删除了。<html><head><script type="text/javascript"> function getColumn(){ var d= document.getElementById("column"); var len=d.length; for(var i=len-1 ;i >=0; i--){ document.getElementById("column").removeChild(d.options[i]); } var column=document.getElementById("column"); } </script></head><body> <input type="button" value="button"onclick="getColumn()"> <select id="column" size=8 multiple> <option>ddd</option> <option>eee</option> <option>aaa</option> </select></body></html>
解决方案七:
删节点用倒序删除.比如说现有一个树有3个节点.节点下标分别为0, 1, 2.你用正序的话, 就是从0循环到2, 执行三次第一次执行, 会删除下标为0的节点.这个时候树剩下二个节点, 这二个节点自动向前补进一位.从1, 2变成0, 1.第二次执行的时候, 会删除下标为1的节点.这个时候树剩下下标为0的节点.第三次执行的时候, 会删除下标为2的节点.但树里面没有下标为2的节点, 没完成删除操作.循环结束, 树里面还剩下下标为0这个节点.

时间: 2024-08-06 15:28:22

js删除节点的相关文章

js-关于JS删除父节点的问题

问题描述 关于JS删除父节点的问题 有若干个一样的这样的table table tr td input type="checkbox" name="test" /td /tr /table 现在需要做的就是通过JS把所有选中的checkbox所在的table删除 我是这么写的,但是当选项是多个的时候不能删除完,只能删除一部分: var boxs = document.getElementsByName("test"); for(var i = o

myflow.js怎么实现删除节点,保存时json 转jpdl格式的XML?

问题描述 myflow.js怎么实现删除节点,保存时json 转jpdl格式的XML? 项目中向用myflow.js做工作流流程设计器.实现类似这样的效果.http://gekie.iteye.com/blog/2230861 解决方案 删除的时候你选中节点按delete键就可以删除了,转换为jpdl不懂是什么,没搞过..自己eval转为json对象后变量转为换就行了 $('#myflow') .myflow( { tools : { save : { onclick: function (da

JS实现添加,替换,删除节点元素的方法_javascript技巧

本文实例讲述了JS实现添加,替换,删除节点元素的方法.分享给大家供大家参考,具体如下: 一直以来,对于节点操作比较纠结,特别是插入到某某节点之后.居然没有这个方法,以前的我写的方法有问题,是把新节点插入到旧节点的里面去了,还是该用insertBefore方法可以实现 下面是方法: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose

js操作DOM--添加、删除节点的简单实例_javascript技巧

js removeChild() 用法 <body> <p id="p1">welcome to <b>javascript</b> world !</p> <script language="javascript" type="text/javascript"> <!-- function nodestatus(node) { var temp=""

mongodb replica set 添加/删除节点方法

  replica set多服务器主从,添加,删除节点,肯定会经常遇到的.下面详细说明一下,添加,删除节点的2种方法. 一,利用rs.reconfig,来添加,删除节点 1,添加节点  代码如下   repmore:PRIMARY> config = {_id:"repmore",members:[{_id:0,host:'127.0.0.1:27017',priority :2},{_id:1,host:'127.0.0.1:27018',priority:1}]};   //

使用js完成节点的增删改复制等的操作

 本文为大家详细介绍下使用js完成节点的增删改复制等的操作,具体的实现如下,感兴趣的朋友可以参考下 需求:完成节点的增删改复制的操作    用到的方法和属性:  1.获取某个节点的父节点  parentNode属性  2.获取某个节点的子节点集合  childNodes属性  3.创键一个新的节点  createTextNode(节点文本内容) document对象的方法 在某些浏览器上兼容性不是很好  createElement(对象) document对象的方法 例如:document.cr

JS获取节点的兄弟,父级,子级元素的方法

 本篇文章主要是对JS获取节点的兄弟,父级,子级元素的方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比.   JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素  代码如下: <div id="test"> <div></div> <div></div> </div&

jQuery删除节点用法示例(remove方法)_jquery

本文实例讲述了jQuery删除节点的方法.分享给大家供大家参考,具体如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="js/jquery-1.10.1.min.js" type="text/

jQuery的DOM操作之删除节点示例_jquery

如果文档中某一个元素多余,那么应将其删除.jQuery提供了两种删除节点的方法,remove()方法和empty()方法. 1. remove(): 复制代码 代码如下: <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" c