我正在获取文本框的所有输入值。然后将所有输入值存储到数组中。如果输入类型是按钮,则应从阵列中删除它。这是我的代码。
<!-- 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;
}
}
}
拼接方法不起作用。我该如何解决这个问题?
答案 0 :(得分:2)
我认为问题是getElementsByTagName
返回类似数组的对象,而不是数组,所以你不能在它上面调用数组方法。但是有一个简单的解决方法:
arr.splice(a, 1);
会变成
Array.prototype.splice.call(arr, a, 1);
修改
很抱歉 - 似乎从getElementsByTagName
- NodeList返回的内容中删除项目的正确方法是使用this answer中所述的removeChild