2011-04-20 2 views
0

특정 클래스가있는 요소가 표시되는지 확인하려고합니다. 그런 다음 바로 이전 요소를 찾아서 그 요소로 넘어갑니다. 나는 이것을 시도했지만 올바르지 않다.JQuery visible selector and prev()

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

     var prevpanel = $('.sidewrapper').is(':visible').prev().attr('id'); alert(prevpanel); 

     $('.sidewrapper').hide("slide", { direction: "right" }, 300); $(prevpanel).show("slide", { direction: "left" }, 300); 
     } 

} 

내 사용과 관련이있는 것 : 보이는 것은 틀렸다고 생각합니다. 어떤 아이디어?

놀라운

답변

2

변화

var prevpanel = $('.sidewrapper').is(':visible').prev().attr('id'); 

var prevpanel = $('.sidewrapper:visible').prev().attr('id'); 

.is() 복귀 bool 다른 필터링 방법과는 달리

, 네 질병()을 생성하지 않는다 새로운 jQuery 객체. 대신 jQuery 객체의 내용을 수정하지 않고 테스트 할 수 있습니다.

+0

타르. 완벽하게 일했습니다. –

0
if($("#sidepanel1").css("visibility") == "visible") 
{ 
// do stuff 
} 
0

the docs에 따르면, is()는이 경우에 부울 값을 반환합니다. jQuery 객체의 다른 인스턴스를 반환하지 않으므로 체인이 끊어집니다.