Вы можете использовать getElementsByTagName
.
var fieldset= document.getElementById('something');
var fieldtags= ['input', 'textarea', 'select', 'button'];
for (var tagi= fieldtags.length; tagi-->0) {
var fields= fieldset.getElementsByTagName(fieldtags[tagi]);
for (var fieldi= fields.length; fieldi-->0;) {
fields[fieldi].className= 'hello';
}
}
(Если вы заботитесь только о input
полях, вы можете потерять внешний цикл тегов.)
Если вы нуждаетесь в них в порядке документов (а не сгруппированы по тегам), вам придется обходить элементы вручную, что будет немного болезненно и немного медленно. Вы можете использовать fieldset.querySelectorAll('input, textarea, select, button')
, но пока не все браузеры поддерживают это. (В частности, IE6-7 предшествует этому.)