TopJavaScriptjQuery > 2012年4月
2012年4月18日

jQueryによる要素の存在チェックまとめ

April 18,2012 2:22 AM
Tag:[]
Permalink

jQueryによる要素の存在チェックまとめです。

jQueryを実行する際、「$(selector)」が成功してjQueryオブジェクトが生成されたことを判断したいケースがあるかと思います。なかったらすいません。

ということで、jQueryで要素(jQueryオブジェクト)が1つでも存在することをチェックする方法を調べてみました。実際に動かした結果でまとめてます。

サンプルはscript要素で括ってますが、必要に応じて「$(function(){ ... });」などで括ってください。間違った情報・表現等がありましたら適宜修正しますのでご指摘ください。

1.$(selector)[0]

「$(selector)」で生成されるjQueryオブジェクトは配列のように扱える(配列の基本メソッドが使える訳ではない)ので、0番目の要素をチェックすることで存在チェックを行えます。

<script>
if ($('div')[0]) {
    alert('Exist');
} else {
    alert('No exist');
}
</script>

2.$(selector).get(0)

get()は、パラメータで指定したインデックスのjQueryオブジェクトに格納されているDOMを取得するメソッドです。パラメータに「0」を指定しないとうまくチェックできないようです。

<script>
if (jQuery('div').get(0)) {
    alert('Exist');
} else {
    alert('No exist');
}
</script>

3.$(selector).length

lenghtは、jQueryオブジェクトのインデックス数を保持しています。インデックス数が「0」の場合は要素が存在しないと判断できます。

<script>
if ($('div').length) {
    alert('Exist');
} else {
    alert('No exist');
}
</script>

4.$(selector).size()

size()はjQueryオブジェクトのインデックス数を返却するメソッドです。インデックス数が「0」の場合は要素が存在しないと判断できます。

<script>
if ($('div').size()) {
    alert('Exist');
} else {
    alert('No exist');
}
</script>

5.$(selector).is('*')

is()は、要素集合のうち、1つでも条件式に合致する要素があればtrueを返すメソッドです。ワイルドカードの「*」を設定することで、指定要素のすべてに合致するかを判定できるようです。

<script>
if ($('div').is('*')) {
    alert('Exist');
} else {
    alert('No exist');
}
</script>
Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3