Я склоняюсь к такому варианту, но возможно есть лучший?
var e, d = w.document, t = d.getElementsByTagName('textarea'), u = d.getElementsByTagName('input'), i = t.length;
while(e = (i > 0) ? t[--i] : u[-i--]){}
//querySelectorAll не подходит из-за совместимости, вынос в функцию получится сильно длинее.