LoginSignup
2

More than 5 years have passed since last update.

DOCTYPEしないとjQueryがwindowとdocumentを混同する件

Posted at

他にも同様のエントリーがあるかもしれないけど、ちょっと詰まった

表題そのままですが、DOCTYPE宣言して無いHTML上でjQueryを使うとき、documentとwindowを同じものとして扱ってしまうようです。

具体例

$(window).height()
$(document).height()

この二つの結果が同じになってしまうわけです。

なので、画面の高さによってなにか変えたい場合や、わざと画面幅よりも大きくサイトを作って、jsで表示する箇所を変化させるようなものを作りたいときに、うまくいかない。

解決策

DOCTYPEを宣言する。

今回はテストで適当なHTML作って動作チェックして試して発覚したのですが、
(リテラシの低い)一般人がコピペで使うようなコードやサービスでは気をつけたいなぁとおもった次第でした。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2