Задать вопрос
@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 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
mlnkv
@mlnkv
JavaScript Developer
Интересно, а зачем вам поддержка IE 7?
Ответ написан
Ваш ответ на вопрос

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

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