web-dev-qa-db-ja.com

jqueryを使用してdivが非表示になっていることを確認します

これは私のdivです

<div id="car2" style="display:none;"></div>

次に、クリックするとdivを表示する[表示]ボタンがあります。

$("show").click(function() {
    $("$car2").show();
}); 

だから今、div #car2は、フォーム送信前はまだ非表示です。

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

ここに問題があります。 div #car2は既に表示されていますが、jQueryがdivを想定しているという警告メッセージがまだ表示されます#car2はまだ非表示です。

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

ありがとう。

編集:

ジャスパーが言ったように、私のコードは正しく、この demo で実行できます。

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

35
cyberfly

CSS displayプロパティを確認できます:

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

デモは次のとおりです。 http://jsfiddle.net/YjP4K/

66
Jasper

試してください:

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

試して

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

代わりに:visibleプロパティを確認してください。

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

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

とにかく、:hiddenは期待通りに動作しているようです。試してみてください こちら

2
smendola

使用できます

if (!$("#car-2").is(':visible'))
{
      alert('car 2 is hidden');
}
1
SharK