日期:2014-05-16  浏览次数:20519 次

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>

------解决方案--------------------
探讨
LZ这样删除会出错
因为数组内容和下标随着删除会有变化.

删除数组指定的下标:
HTML code<script>vararr=['a','b','c','d','e'];functionarr_del(d){returnarr.slice(0,d-1).concat(arr.slice(d));
}

alert(arr_del(3));//a,b,d,e</script>

------解决方案--------------------
楼主 你详细的描述下你的需求 你说你想实现什么就可以了
------解决方案--------------------
探讨
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)




------解决方案--------------------
探讨
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"); 这个得到的值的其中的一个值
对吧?
------解决方案--------------------