我有一組輸入;一些是數字輸入,另一些是文本輸入。我知道我可以通過如何獲取類型爲數字的所有HTML對象
x=document.getElementsByTagName('input');
得到所有輸入,但我怎麼能做到這一點只得到與類型=數字輸入?我需要一個純粹的JavaScript解決方案,不需要jQuery或其他框架。
我有一組輸入;一些是數字輸入,另一些是文本輸入。我知道我可以通過如何獲取類型爲數字的所有HTML對象
x=document.getElementsByTagName('input');
得到所有輸入,但我怎麼能做到這一點只得到與類型=數字輸入?我需要一個純粹的JavaScript解決方案,不需要jQuery或其他框架。
你有一個很好的答案,但對於舊的瀏覽器不完全支持選擇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'}
);
T他是有幫助的,我很欣賞答案,但我並不太擔心舊版瀏覽器。我會贊成但沒有足夠的代表。 – Leshy
@ Leshy-那很好,我不關心選票。答案適用於遇到類似問題的任何人遇到您的問題(以及答案)。 ;-) – RobG