En primer lugar, pensé que esto es posible a concat matrices usando Array.prototype, así:
Array.prototype.concat.call(selects, inputs);
Pero esto no funciona, por lo que he hecho una de las colecciones de matrices de nodos y concat eso. Parece que:
(function() {
var inputs = document.getElementsByTagName('input'),
selects = document.getElementsByTagName('select'),
result,
i,
node;
function convert (collection) {
var a = [];
for (var i = 0, length = collection.length; i < length; i++) {
a.push(collection[i]);
}
return a;
}
// concatenation && convertation
result = Array.prototype.concat(convert(inputs), convert(selects));
// traversing
i = result.length;
while(node = result[--i]) {
alert(node.getAttribute('name'));
}
})();
¿Buclear ambos al mismo tiempo o secuencialmente? –