2015-09-07 60 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

相關問題