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

How to get all HTML objects with type=number

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

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

但是我怎样才能只获得 type=number 的输入呢?我需要一个纯粹的 JavaScript 解决方案,不需要 jQuery 或其他框架。

需要使用querySelectorAll()方法。

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

DEMO

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