2015-01-06 1 views
0

저장된 jquery 객체에서 :visble:first 요소를 검색하고 싶습니다. 나는 다양한 요구 사항에 대해 first, last, first-prev, last-next이 필요합니다.jquery는 저장된 'jquery 객체'에서`visible` 요소를 가져올 수 없습니다

나는 이것을 시도했지만 작동하지 않습니다.

HTML :

<div class="test">1</div> 
<div class="test">2</div> 
<div class="test">3</div> 
<div class="test">4</div> 
<div class="test">5</div> 

JQuery와 :

var divs = $('.test'); // i stored here 

console.log(divs.find(':visible:first')); //always returns 5 

console.log($(':visible:first', divs)); //always returns 5 

이 셀렉터 어떤 문제가 있습니까?

Live

+0

$ ('. 테스트 : 첫 번째 : 표시') css ('background-color', 'red'); - 당신의 바이올린에서 이것을 시도하고 일했습니다 –

답변

1

는 자식 요소를 검색합니다 필터()를 사용하여, 당신은 당신의 원래 쿼리에 :first:visible을 확인합니다.

var divs = $('.test:visible:first'); 
당신이 다음의 첫 번째 노드 [0]

console.log(divs.filter(':visible')[0]); 

또는 전화 모든 div를 얻을해야하는 경우도 JQuery와에 필터링 할 수 있습니다

당신은 당신이 좁은 방 사용할 수있는 JQuery와 선택기를 (유지하고자하는 경우)

console.log(divs.filter(':visible').first()); 
+0

우리가 사용할 수는 있을지 모르지만 제 접근 방식의 문제점은 무엇입니까? 심지어 마지막 (마지막())을 얻는 방법에 접근합니까? – 3gwebtrain

+1

문제는 하위 요소를 찾는 .find()를 사용하고 있다는 것입니다.이 경우 선택기를 직접 사용하려고했습니다. 업데이트 된 답변 확인 –

관련 문제