2009-02-04 6 views

답변

9

당신은 CSS() 함수를 사용하여이 문제를 테스트 할 수 있습니다

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

편집 : 숨겨진 선택은 다음과 같습니다

방법 시원한 인식되지 않았습니다. 내 제안은 다른 속성을 테스트하는 데 여전히 유용하지만 Alex의 제안은이 경우 더 좋습니다.

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

또는

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

그들은해야 모두 일 :

+0

내가 디스플레이의 값이 'none'또는 가시성 '숨겨진'라고 생각합니다. – Misko

+0

예, 이미 편집 중이 었습니다. 감사. –

+1

: hidden 및 : visible 셀렉터는 숨겨진 입력뿐만 아니라 표시 및 가시성을 모두 확인합니다. – Misko

40

내가 알고있는 것을, 그것을 할 수있는 2 가지 방법이있다.

또한 같은 것을 할 수 있습니다

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

어떤 항목이 이미 숨겨져있는 경우에만() .show 전화, 또는 항목이 이미 볼 경우에만() .hide를 호출합니다.

10

또한 jQuery FAQ에서 토글 $(this).toggle();

+0

+1, 이것은 객체의 상태 만 토글하고 싶다면 훨씬 간단합니다. –

3

을 사용할 수

var isVisible = $('myObject').is(':visible'); 
var isHidden = $('myObject').is(':hidden'); 
관련 문제