Задать вопрос
@vohaha

Как решить проблему с .length после хака getElementsByClassName в ie?

Есть бибилотека parallax.js в которой есть getElementsByClassName. Для работы в IE7> прописал:
function getElementsByClassName(node, classname) {
	var a = [];
	var re = new RegExp('(^| )'+classname+'( |$)');
	var els = node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))a.push(els[i]);
	return a;
}
var parallaxLayer = getElementsByClassName(document.body,'layer');

Но теперь ошибка во всех браузерах: "Cannot read property 'length' of undefined" (chrome, opera), "Unable to get property 'length' of undefined or null reference" (IE)," this.layers is undefined" (FF).
Возможно ли решить эту проблему?
Здесь небольшой пример кода (комментарии там где заменяется метод getElementsByClassName и там где выдает ошибку с length)
  • Вопрос задан
  • 2455 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
mlnkv
@mlnkv
JavaScript Developer
Интересно, а зачем вам поддержка IE 7?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы