web-dev-qa-db-fra.com

Check div est caché en utilisant jquery

C'est mon div

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

Ensuite, j'ai un bouton Afficher qui affiche la div lorsque vous cliquez sur:

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

Alors maintenant, je veux vérifier si la div #car2 Est toujours cachée avant la soumission du formulaire:

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

Maintenant voici le problème. Bien que la div #car2 Soit déjà affichée, j'ai quand même reçu un message d'alerte, ce qui signifie que jQuery présume que la div #car2 Est toujours masquée.

Ma version de jQuery est 1.7.

Merci.

EDIT:

Comme dit jasper, mon code est correct et peut être exécuté via cette démo .

Ce que je soupçonne qu’il ya un conflit avec formulaire jquery to wizard plugin que j’utilise avec mon formulaire. Quelqu'un a une idée pour résoudre ce problème?

35
cyberfly

Vous pouvez vérifier la propriété CSS display:

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

Voici une démo: http://jsfiddle.net/YjP4K/

66
Jasper

Essayer:

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

Essayer

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

Essayez plutôt de rechercher la propriété: visible.

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

Avez-vous remarqué votre faute de frappe, $car2 au lieu de #car2?

En tous cas, :hidden semble fonctionner comme prévu, essayez-le ici .

2
smendola

Vous pouvez utiliser,

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