2011-12-13 11 views
34

を使用して隠されていますDIV #car2は、まだフォームの送信前に隠されている: チェックdiv要素は、これは私のdiv</p> <pre><code><div id="car2" style="display:none;"></div> </code></pre> <p>ですその後、私はあなたがクリックしたときのdivを表示します[表示]ボタンを持っているjqueryの

if($('#car2').is(':hidden')) { 
    alert('car 2 is hidden'); 
} 

が今ここで問題です。 div #car2がすでに表示されていますが、私はまだ警告メッセージを受け取りました。つまり、jQueryはdiv #car2がまだ隠れていると想定しています。

私のjQueryバージョンは1.7です。

ありがとうございました。

EDIT:

碧玉が言ったように、私のコードが正しく、このdemo経由で実行することができます。

私は自分のフォームに使用しているjquery form to wizard pluginといくつかの競合があると思われます。誰でもこれを解決するための任意のアイデアがありますか?

+1

http://jsfiddle.net/YjP4K/2/あなたのコードので、多分簡略化されたときに、あなたがどこかにエラーが発生している作品のでしょうか? – Jasper

+0

他の答えは正しいが[要素が隠されているかどうかを確認する](https://stackoverflow.com/questions/178325/checking-if-an-element-is-hidden) –

答えて

61

あなたはCSSプロパティdisplay確認することができます:ここで

if ($('#car').css('display') == 'none') { 
    alert('Car 2 is hidden'); 
} 

をデモです:代わりにvisibleプロパティ:http://jsfiddle.net/YjP4K/

+0

何とか私は私のフォームでこのメソッドを使用することができますので、私は答えとしてこれを選択します。ありがとう。 – cyberfly

+1

'$( '#car')。is(:hidden)'が動作するはずです。これは現在のソリューションよりもクリーンなソリューションです。詳細はhttps://api.jquery.com/hidden-selector/ – akshay

+1

@akshay yeahより意味のある意味合いを確認してください。 ':hidden'と':visible'セレクタがうまくいっている要素の周りに条件があるので、あなた自身のチェックを行うのが理にかなっているというのは、私は思えます。 – Jasper

4

はチェックをお試しください。

if($('#car2').not(':visible')) 
{ 
    alert('car 2 is hidden');  
} 
28

試してみてください。

if(!$('#car2').is(':visible')) 
{ 
    alert('car 2 is hidden');  
} 
+1

答えとしてマークする必要があります – Thamaraiselvam

2

あなたは、$car2代わり#car2のあなたのタイプミスに気づきましたか?

とにかく、:hiddenは期待どおりに動作しているようです。hereを試してください。

8

てみ

if($('#car2').is(':hidden')) 
{ 
    alert('car 2 is hidden');  
} 
1

あなたが使用することができ、

if (!$("#car-2").is(':visible')) 
{ 
     alert('car 2 is hidden'); 
} 
関連する問題