Ученик (105)

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

Как сделать, чтобы и в Internet Explorer все работало как надо? Чем заменить getElementsByClassName?
Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
После регистрации Вы также сможете получать до 75 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ОТВЕТЫ
Знаток (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;
}
}