2009-02-04 12 views

Antwort

9

Sie können dies testen mit der CSS() Funktion:

if ($('myObject').css('display') == 'none') { 
    $('myObject').show(); 
} 

EDIT:

war nicht bewusst, wie cool das: versteckt Selektor ist. Mein Vorschlag ist immer noch nützlich, um andere Attribute zu testen, aber Alex Vorschlag ist in diesem Fall schöner.

+0

I der Wert für die Anzeige denken ist 'keine' oder für die Sichtbarkeit 'versteckt'. – Misko

+0

Ja, ich habe das bereits bearbeitet. Vielen Dank. –

+1

Die: hidden und: visible Selectors prüfen sowohl die Anzeige als auch die Sichtbarkeit sowie versteckte Eingaben. – Misko

40

ist es 2 Möglichkeiten, es zu tun, die ich kenne:

if ($('#something').is(':hidden')) { } 

oder

if ($('#something').is(':visible')) { } 

Sie sollten beide arbeiten.

Sie können auch etwas tun:

$('#something:hidden').show(); 
$('#something:visible').hide(); 

Welche nur nennen .show(), wenn der Artikel bereits ausgeblendet ist, oder rufen Sie .Hide nur(), wenn der Artikel bereits sichtbar ist.

10

könnten Sie auch die Toggle $(this).toggle();

+0

+1, Dies ist eine sehr einfache Lösung, wenn Sie nur den Status des Objekts umschalten möchten. –

3

Von jQuery FAQ verwenden:

var isVisible = $('myObject').is(':visible'); 
var isHidden = $('myObject').is(':hidden'); 
Verwandte Themen