2015-09-07 38 views
1

我有一组输入;一些是数字输入,另一些是文本输入。我知道我可以通过如何获取类型为数字的所有HTML对象

x=document.getElementsByTagName('input'); 

得到所有输入,但我怎么能做到这一点只得到与类型=数字输入?我需要一个纯粹的JavaScript解决方案,不需要jQuery或其他框架。

回答

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'} 
); 
+0

T他是有帮助的,我很欣赏答案,但我并不太担心旧版浏览器。我会赞成但没有足够的代表。 – Leshy

+0

@ Leshy-那很好,我不关心选票。答案适用于遇到类似问题的任何人遇到您的问题(以及答案)。 ;-) – RobG

相关问题