Задать вопрос
pashted
@pashted
тыжпрограммист

Вопрос на засыпку: почему offsetTop иногда равен undefined?

возможно я задам очень глупый вопрос. но ответ не дает мне покоя.

когда я вывожу в консоль или алерт свойство element.offsetTop какого-либо элемента, то оно обычно неопределенно.

но стоит мне представить, что element это массив, то element[0].offsetTop показывает все нормально....
неужели первый вариант написания неверный? слышал, что .offset() из jquery может глючить в разных браузерах. так какое написание более правильное?

здесь пример
  • Вопрос задан
  • 1432 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 2
petermzg
@petermzg
Самый лучший программист
Потому что jquery всегда возращает массив. Даже для одного элемента.
$('.div') - это массив.
А у массива нет offsetTop
Ответ написан
В первом случае вы пытаетесь считать свойство offsetTop у jquery коллеккции, которого не существует. Во втором же все верно, ибо по индексу [0] там обычный DOM элемент, у которого это свойство есть. Для работы с jQuery коллекциями следует использовать метод offset().
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
26 дек. 2024, в 18:20
35000 руб./за проект
26 дек. 2024, в 18:12
20000 руб./за проект
26 дек. 2024, в 17:48
300000 руб./за проект