If you're using jQuery, you can get them using .filter()
:
var $unsupported = $('input').filter(function() {
return this.type !== $(this).attr('type');
});
This'll select all unsupported inputs, so you may want to filter that further using .filter('[type="number"]')
or do that from within the filtering function.
A pure JS solution isn't much different:
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type === inputs[i].getAttribute('type')) {
continue;
}
// inputs[i] isn't supported by the browser
}
And a demo: http://fiddle.jshell.net/PENRD
I tested it in IETester and it worked down to IE6.