MW211 EXIT

devlog
jQuery/要素の存在チェック
2013年09月01日
セレクタで指定したものが実際にあるのかどうかを判定する方法は
いろいろあるようだ。

但し、一番やりがちな以下はダメです。いずれでも真になってしまいます。
┌──────────────────────────────────────┐
│if ($(セレクタ)) {存在あり;} else {存在なし;}                               │
└──────────────────────────────────────┘

ということで、やり方は以下の通り。
┌──────────────────────────────────────┐
│if ($(セレクタ)[0])              {存在あり;} else {存在なし;}               │
│if ($(セレクタ).get(0))          {存在あり;} else {存在なし;}               │
├──────────────────────────────────────┤
│if ($(セレクタ).length  > 0)     {存在あり;} else {存在なし;}               │
│if ($(セレクタ).size()  > 0)     {存在あり;} else {存在なし;}               │
├──────────────────────────────────────┤
│if ($(セレクタ).is('*') == true) {存在あり;} else {存在なし;}               │
└──────────────────────────────────────┘

「.size()」よりも「.length」が推奨されるので、以下を推奨したいと思う。
┌──────────────────────────────────────┐
│if ($(セレクタ).length > 0) {存在あり;} else {存在なし;}                    │
└──────────────────────────────────────┘
分類:jQuery