如何获取所有 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"]');
你有一个很好的答案,但对于不完全支持选择器 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'}
);
我有一组输入;有些是数字输入,有些是文本输入。我知道我可以通过
获得所有输入x=document.getElementsByTagName('input');
但是我怎样才能只获得 type=number 的输入呢?我需要一个纯粹的 JavaScript 解决方案,不需要 jQuery 或其他框架。
需要使用querySelectorAll()
方法。
x = document.querySelectorAll('input[type="number"]');
你有一个很好的答案,但对于不完全支持选择器 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'}
);