В современных браузерах вы можете получить их, используя функцию getElementsByClassName :
var elements = document.getElementsByClassName('myClass');
for (var i = 0, n = elements.length; i < n; i++) {
//..
}
Обратите внимание, что я получаю elements.length
только один раз, это обычная практика при итерации HTMLCollections.
Это потому, что эти коллекции являются "живыми", они могут изменяться в любое время, и доступ к свойству length на каждой итерации обходится дорого.
Для получения полной кросс-браузерной реализации, прочитайте эту статью Mr. Resig:
Редактировать: Я оставляю здесь переработанную версию Dustin Diaz getElementsByClassName чисто DOM Реализация:
function getElementsByClassName(node,classname) {
if (node.getElementsByClassName) { // use native implementation if available
return node.getElementsByClassName(classname);
} else {
return (function getElementsByClass(searchClass,node) {
if ( node == null )
node = document;
var classElements = [],
els = node.getElementsByTagName("*"),
elsLen = els.length,
pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"), i, j;
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
})(classname, node);
}
}