var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++)
{
if (document.getElementById("value_[0-9]"))
{
alert('found: ' + inputs[i].value);
}
else
{
alert(inputs[i].value);
}
}
我使用条件只获取以值_
开头的输入IDif (document.getElementById("value_[0-9]"))
但在我的表单中有5个或更多ID时,没有任何内容。即value_1,value_2,value_3等。
答案 0 :(得分:5)
你使用错误的方法。只需检查列表中某个元素的id
属性:
for (var i = 0, len = inputs.length; i < len; i++) {
if (inputs[i].id.indexOf("value_") === 0) {
// alert("Found: " + inputs[i].value);
}
}
答案 1 :(得分:1)
[].map.call(document.getElementsByTagName( 'input' ), function( input ) {
return input.id.indexOf( 'value_' ) === 0;
}).forEach(function( input ) {
// do whatever here
});
答案 2 :(得分:1)
将document.querySelectorAll
与Array.prototype.slice
结合使其成为数组
Array.prototype.slice.call(document.querySelectorAll('input[id^="value_"]'));
从这里你可以做你喜欢的循环,例如Array.prototype.forEach