serejatoje
@serejatoje

Почему offset().top вызывает ошибку?

Всем привет! Есть такой код:

var elem = jQuery('.table-price-wrapper tr').eq(find);
		        var ypos = jQuery(elem).offset().top;
		       jQuery('.table-price-wrapper tr').removeClass('active');
		    	jQuery('.table-price-wrapper').animate({scrollTop: jQuery('.table-price-wrapper').scrollTop() - 20 + ypos + 'px'}, 700);
		        jQuery('.table-price-wrapper tr:eq(' + find + ')').addClass('active');


В консоли ошибка сразу - Uncaught TypeError: Cannot read property 'top' of undefined
В чем может быть ошибка? переменная find - цифра, которая всегда существует.
  • Вопрос задан
  • 1136 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Масло масленое...

//eq возвращает jQuery-объект, а не обычный элемент
//И получается у вас такое действо:
$($(something)).offset().top;


var ypos = elem.offset().top;

UPD:
Странно то, что вариант работает на jquery 2.1.3 (если не ошибаюсь), но не работает на jQuery 1.1.1

-->
$(jQuery object) — задав другой jQuery-объект вы получите его клон. (метод добавлен в jQuery-1.0)


хм....проверьте-ка, что вообще получается в elem?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ivanq
@Ivanq
Знаю php, js, html, css
Проверьте переменную find, если она больше, чем количество элементов, будет такая ошибка
Ответ написан
Ваш ответ на вопрос

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

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