2012-05-02 1 views
0

많은 항목 사이에 div이 하나만 표시됩니다. 그것을 어떻게 선택할 수 있습니까? (": 보이는")하지만 나는 한 라인을 선호 나는 그 (.each 사용 divs을 걸어)와 됐나로 선택할 수 있습니다 알고클래스를 사용하여 표시 div를 선택하십시오.

var page_div_visible = $(".gform_page").filter(":visible"); 

:

다음 코드는 로컬 호스트하지만 온라인 상태가 아닌 작품 해결책. 가능하지 않니?

편집 :

HTML은 다음과 같습니다

<div id='gform_page_20_6' class='gform_page' style='display:none;'> 
</div> 
<div id='gform_page_20_7' class='gform_page' style='display:none;'> 
</div> 
<div id='gform_page_20_8' class='gform_page' > 
</div> 

편집

이 그것을 온라인으로 작동 할 수 없었습니다.

+1

을의의 jQuery를 사용하려고하지만,이보십시오.'VAR page_div_visible = $ ("gform_page를 : visible) "); –

+0

직선적 인 일이지만, JS로 동적으로 추가 된 클래스의 새 요소를 만들기 전에 선택기 쿼리를 작성하고있을 것입니다. 또는 무리가 제거되고 새로운 무리가 추가됩니다. CSS와는 다릅니다. page_div_visible이 할당 될 때 요소가 없으면 자동으로 해당 객체에 있지 않으며 page_div_visible이 만들어 질 때 해당 클래스가있는 요소가 존재하고 JPack의 응답이 작동해야합니다. –

+0

페이지가로드 될 때 @ erik-reppen div가 분명히 숨겨져 있거나 보이지 않습니다. 수정 된 질문보기 thx.- –

답변

2

왜 그냥 이렇게하지지지 해주는 당신을위한

var page_div_visible; 

$(".gform_page").each(function(i){ 
    if ($(this).css("display") !== "none"){ 
     page_div_visible = $(this); 
     return false; 
    } 
}) 

감사 :이 최종 솔루션입니까?

var page_div_visible = $(".gform_page:visible"); 

http://jsfiddle.net/JoshuaPack/AtBx3/1/

+0

여전히 작동하지 않습니다! –

+0

http://jsfiddle.net/JoshuaPack/AtBx3/1/ - 귀하의 HTML로 업데이트 –

+0

예, 알고 있습니다. 그러나 다른 js 코드가 광산과 간섭하고 있습니다 (이것은 WP 플러그인의 일부입니다). 다른 해결책이 필요합니다 .- thx –

0

당신이 사용하는 jQuery를 버전? 코드 뒤에 $에 대한 충돌이나 div에 클래스를 추가하는 중일 수도 있습니다.

이 JS 다른 코드에 의해 방해되고 있다는 의견을 보면, 친절 대신에이 같은 일이 $

// at the very beginning of your main JavaScript file 
var jQ = jQuery.noConflict(); 

// at the place where you are doing other stuff with $, like your issue 
var page_div_visible = jQ(".gform_page:visible");