js 数组中删除一个元素
var elementArr = document.getElementsByTagName("input");
for (var i=0;i<elementArr.length; i++) {
if(true){
elementArr.remove(i)
}
}
我想删除elementArr中的i元素,请问该怎么删除
[解决办法]
elementArr.splice(i,1);
[解决办法]
var elementArr = document.getElementsByTagName("input");
for (var i=0;i <elementArr.length; i++) {
if(true){
elementArr[i].outHTML = ""
}
}
[解决办法]
elementArr[i].parentNode.removeChild(elementArr[i]);
[解决办法]
3楼正解
[解决办法]
LZ这样删除会出错
因为数组内容和下标随着删除会有变化.
删除数组指定的下标:
- HTML code
<script>var arr = ['a','b','c','d','e'];function arr_del(d){ return arr.slice(0,d-1).concat(arr.slice(d));}alert(arr_del(3)); // a,b,d,e</script>
[解决办法]
[解决办法]
楼主 你详细的描述下你的需求 你说你想实现什么就可以了
[解决办法]
[解决办法]
var arr_= document.getElementsByTagName("input"),elementArr=[];
for(var i=0;l=arr_.length;i<l;i++)elementArr[i]=arr_[i];
//原来代码
for (var i=0;i <elementArr.length; i++) {
if(true){
// elementArr.remove(i)
elementArr.splice(i,1)
}
}
[解决办法]
[解决办法]
这样?
- HTML code
<input type="text" value="a" /><input type="text" value="b" /><input type="text" value="c" /><script>var elementArr = document.getElementsByTagName("input");// 比如删除 input.value 特定值的,可以这样function fun(){ if(arguments.length == 0) return; var ars = []; for(var i=0; i<arguments.length; i++) ars.push(arguments[i].replace(/\|/g,'\\|')); ars = new RegExp(ars.join('|'),'i'); var arr = []; for (var i=0; i<elementArr.length; i++) if (!ars.test(elementArr[i].value)) arr.push(elementArr[i]); return arr;}elementArr = fun('a', 'b');alert(elementArr);</script>
[解决办法]
看到最后才算看明白你要的效果
你是想删除通过var elementArr = document.getElementsByTagName("input"); 这个得到的值的其中的一个值
对吧?
------解决方案--------------------
.........
[解决办法]
a数组9个元素
想删除第一个
声明一个b数组8个元素
循环将a数组中需要的元素加入b数组..
重新定义a数组等于b数组
搞定
[解决办法]