jQueryで要素の表示・非表示を判定する方法
jQueryの要素の表示・非表示を判定する方法を紹介します。
1.基本
jQueryでは、要素の表示・非表示のためのメソッドとして、show()とhide()が提供されています。
show()は指定した要素を表示します。
$('#foo').show();
hide()は指定した要素を非表示にします。
$('#foo').hide();
が、表示・非表示を判定する方法として、isShow()やisHide()、isVisible()などは提供されていません。
2.css('display')で判定する
show()はdisplayプロパティ「block」、hide()はdisplayプロパティを「none」にするので、これを判定に利用します。
if ($('#foo').css('display') == 'block') {
// 表示されている場合の処理
} else {
// 非表示の場合の処理
}
3.is(':visible')で判定する
「:visible」は表示されている要素を抽出するためのもので、これとis()を組み合わせて利用します。
if ($('#foo').is(':visible')) {
// 表示されている場合の処理
} else {
// 非表示の場合の処理
}
4.is(':hidden')で判定する
「:hidden」は「:visible」と逆に、表示されていない要素を抽出するためのもので、これとis()を組み合わせて利用します。
if ($('#foo').is(':hidden')) {
// 非表示の場合の処理
} else {
// 表示されている場合の処理
}
5.プラグインを利用する
次のプラグインをコード内に記述しておけば、上記の方法よりパフォーマンスが向上するようです。
$.fn.isVisible = function() {
return $.expr.filters.visible(this[0]);
};
プラグインは次のように利用します。
if ($('#foo').isVisible()) {
// 表示されている場合の処理
} else {
// 非表示の場合の処理
}
このプラグインは下記に掲載されているものです。
Posted by yujiro このページの先頭に戻る
- jQuery+ajaxでモーダルのコンテンツを取得する方法
- jQueryでパスワードの表示・非表示を切り替えるサンプル
- jQueryでファイル選択時にプレビュー表示する方法
- ラジオボタンをjQueryで解除する方法
- テーブルのセルをポイントすると行と列を反転表示するjQueryプラグイン「Table Hover」
- jQueryで親ページからiframeのスクロールバーを非表示にする方法
- jQueryのカスタムビルドが簡単にできるサービス「jQuery Builder」
- jQueryでCSSをまとめて書き換える方法のまとめ
- 親ページからiframe内の要素にCSSを適用させる方法
- jQueryで要素を削除する方法のまとめ
- jQueryでテキストを追加するたびにスクロールさせる方法
- jQuery.ajax()でファイルをアップロードする方法
- preventDefault()で無効にしたイベントを有効にする方法
- jQueryで要素数を取得する方法のまとめ
- jQueryやJavaScriptでパスワードフィールドの文字を表示する方法
トラックバックURL
コメントする
greeting