Ученик (105)

Как вытащить элементы по заданному имени класса в JS? getElementsByClassName не работает в IE

Как сделать, чтобы и в Internet Explorer все работало как надо? Чем заменить getElementsByClassName?
Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
После регистрации Вы также сможете получать до 175 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ОТВЕТЫ
Знаток (425)
Действительно, в IE указанная замечательная вещь не работает. Придется для IE писать свою функцию. Код примерно такой:


if (typeof document.getElementsByClassName == 'undefined') //если указанная функция не определена
{
//определяем ее сами
document.getElementsByClassName = function(classname){
var all = document.all,
elements = [],
regexpr = new RegExp('\\b'+classname+'\\b','ig');
for(var x=0; x<all.length; x++) if( all[x].className )
if( all[x].className.search(regexpr)!=-1 ) elements[ elements.length ] = all[x];
return elements;
}
}