我们如何使用javascript获取表单中的文本框数量? 提前谢谢。
答案 0 :(得分:1)
var inputs = document.getElementsByTagName('input');
var count = 0;
for(var cpt = 0; cpt < inputs.length; cpt++)
if (inputs[cpt].type == 'text') count++;
alert(count);
答案 1 :(得分:0)
var node_list = document.getElementsByTagName('input');
var c=0;
for (var i = 0; i < node_list.length; i++) {
var node = node_list[i];
if (node.getAttribute('type') == 'text') {
c++;
}
}
alert(c);
答案 2 :(得分:0)
这会更快:
Array.prototype.slice.apply(document.getElementsByTagName('input')).length;
但它不会分开输入类型。如果你必须这样做,就像我上面那样创建数组然后遍历数组并选择正确类型的成员,然后检查结果数组的长度。
(function () {
var arr = Array.prototype.slice.apply(document.getElementsByTagName('input')),
i = arr.length, item, textOnlyArray = [];
while (i--) {
item = arr[i];
if (item.hasOwnProperty("type") && item.type === "text") {
textOnlyArray.push(item);
}
}
return textOnlyArray;
}());
如果您不需要支持旧的/垃圾浏览器,也可以使用Array.forEach。这甚至比(i - )
更快