возникла такая необходимость: яваскриптом изменить маргин у всех элементов с определённым классом.
в яваскрипте, к сожалению, нет штатной функции getElementByClass().
задача решилась так:
function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
пример использования:
var obj = getElementsByClass('menu_2',null,'div');
for(i=0;i<obj.length;i++){
obj[i].style.marginLeft = pdstr;
}