【jQuery】offset().topエラーになる原因

この記事は約1分で読めます。
広告

jQueryでトップからの位置を取得する「offset().top」ですが、
chromeの開発ツールで確認するとたまにエラーになる時がある。
offset().topのエラー表示
ちゃんと取得してたはずなのに、なんでこんな表示が出てるの?って思うけど
気にしないでいいかなとも思っても、なんか気持ち悪い。

「offset().top」でのエラーを無くす!

なぜエラーになるかというと、そのページ内に「offset().top」した要素が無い場合に発生します。
このエラーを回避する方法は、要素が存在する時にだけ「offset().top」を利用するようにすれば解決する!
書き方は↓をご確認ください。

// $(".youso")がある時のみ「offset().top」でトップからの位置を取得する
if($(".youso").length) {
  var youso = $(".youso").offset().top;
  // $(".youso")のトップからの位置を利用

}

「length」で要素の存在を確認してから「offset().top」を利用すると、エラーがなくなります。
参考になったら嬉しいです!

エンデ・バタローをフォローする
javascriptjQueryサイト制作

埼玉県北本市に住み始めて2年目。

前は東京都の京王線沿線に。
その前は神戸の三宮に。
その前は名古屋の八事霊園の近くに住んでいました。

ある年の冬、車で島根県へ旅行に出かけました。
同県の山中にある寒村をゆるゆると走っていると地面が凍結しており
車ごと川に滑り落ちそうになった経験を持つ30代(男)です。

フロントエンドを始めて9年目になります。
最近は、ずっとwordpressをいじっており
エディタはVSCodeに乗り換え、日々の業務でイラレとフォトショ、HTMLとCSSとjavascriptとphpを使用してます。
仕事をしていて、検索する手間を省くためフロント技術ブログを書いています。

エンデ・バタローをフォローする
広告
初めてのブログ

コメント

タイトルとURLをコピーしました