【发布时间】:2015-12-03 10:58:13
【问题描述】:
我有一组输入;有些是数字输入,有些是文本输入。我知道我可以通过
获得所有输入x=document.getElementsByTagName('input');
但是我怎样才能只获得 type=number 的输入呢?我需要一个纯 JavaScript 解决方案,没有 jQuery 或其他框架。
【问题讨论】:
标签: javascript html tags html-input
我有一组输入;有些是数字输入,有些是文本输入。我知道我可以通过
获得所有输入x=document.getElementsByTagName('input');
但是我怎样才能只获得 type=number 的输入呢?我需要一个纯 JavaScript 解决方案,没有 jQuery 或其他框架。
【问题讨论】:
标签: javascript html tags html-input
【讨论】:
你有一个很好的答案,但对于不完全支持选择器 API 的旧浏览器,你会使用 getElementsByTagName 然后过滤类型:
var inputs = document.getElementsByTagName('input');
for (var i=0, numbers=[], iLen=inputs.length; i<iLen; i++) {
if (inputs[i].type == 'number') numbers.push(inputs[i]);
}
或者如果 ES5 支持可用:
var numbers = Array.prototype.filter.call(document.getElementsByTagName('input'),
function(input) {return input.type == 'number'}
);
【讨论】: