Почему 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 - цифра, которая всегда существует.
  • Вопрос задан
  • 1096 просмотров
Решения вопроса 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, если она больше, чем количество элементов, будет такая ошибка
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы