如何获取type = number的所有HTML对象

时间:2015-09-07 21:28:15

标签: javascript html tags html-input

我有一组输入;一些是数字输入,另一些是文本输入。我知道我可以通过

获得所有输入
x=document.getElementsByTagName('input');

但是我该如何才能获得type = number的输入呢?我需要一个纯JavaScript解决方案,没有jQuery或其他框架。

2 个答案:

答案 0 :(得分:2)

需要使用querySelectorAll()方法。

x = document.querySelectorAll('input[type="number"]');

DEMO

答案 1 :(得分:0)

您有一个很好的答案,但对于不完全支持选择器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'}
);