拼接方法不起作用

时间:2014-01-02 04:08:38

标签: javascript html

我正在获取文本框的所有输入值。然后将所有输入值存储到数组中。如果输入类型是按钮,则应从阵列中删除它。这是我的代码。

<!-- language : java script -->    
function nullchecaking(){

    var arr = new Array();
    arr = document.getElementsByTagName('input');
    var a
    for(a=0; a<arr.length;a++){

        if(arr[a].type == "button"){
            alert("found button");
            arr.splice(a, 1);
            alert(arr);
            a=a-1;  
        }
    }

}

拼接方法不起作用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我认为问题是getElementsByTagName返回类似数组的对象,而不是数组,所以你不能在它上面调用数组方法。但是有一个简单的解决方法:

arr.splice(a, 1);

会变成

Array.prototype.splice.call(arr, a, 1);

修改

很抱歉 - 似乎从getElementsByTagName - NodeList返回的内容中删除项目的正确方法是使用this answer中所述的removeChild