offset().topのエラー

jQueryで何も気にしないでコードを打っていると、「offset().top is null or not an object error」が出ているのに気づかなかったりします。
毎度、これが何だったか忘れてしまうのでメモ。

$('#hoge').offset().top;

としていた場合、「html内に#hogeが見つからないよ」ということ。
$(‘#hoge’).css({‘height’:’50px’});なんかは特にエラーが出ないのに、offset()はエラーの対象になってしまうのが、どうもよくわからないです。
zeptojsなんかもエラーが出るのかな?

対処法は、最初に#hogeが存在しているかどうかを調べてあげれば、エラーが出なくなりました。

if ( $('#hoge').length ) {
    $('#hoge').offset().top;
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


one + 4 =