2009-03-20 2 views
4

는 나 자신이 쓰기 시작 찾을 :jQuery 객체의 배열을 우아하게 어떻게 인덱싱합니까?

$($("a-selector-which-returns-multiple-objects")[index]).SomejQueryFunctionForExampleShow() 

내가 여러 개체를 반환하는 하나 개의 질의는 다음 [index] 운영자가 DOM 개체가 아닌 jQuery를 객체를 반환했기 때문에, 그래서이의 jQuery 오브젝트로 변환 바깥 쪽은 $()입니다.

이것은 잘 작동하지만 멋지지 않게 보입니다. jQuery 객체 세트에 대한 인덱싱에 대해 뭔가 빠져있는 것 같습니다.이 작업을 수행하는 적절한 방법은 무엇입니까?

답변

10

. JQuery가 명령을 연결하는 방식 때문에 모든 명령은 에서 실행될 것입니다. 이전 선택기가 리턴하는 요소.

다음 예는 모든 <a> 요소를 숨길 수 :

$(document).ready(function() { 
    $("a").hide(); 
}); 

는 특정 요소가 될 필요가있는 경우

, 당신은 그것에게 고유 ID를 부여해야한다는 선택 : 원하는 경우

$(document).ready(function() { 
    $("#my-unique-id").hide(); 
}); 

특정 인덱스를 JQuery 오브젝트로 리턴하려면 eq function을 사용해야합니다.

$(document).ready(function() { 
    $("a").eq(0).hide(); 
}); 

다시 말해, 귀하의 경우에는 색인이 전혀 필요하지 않습니다.

+1

고마워요 - eq()는 내가 한 것입니다. 인덱스는 하드웨어에서 반환 된 비트 마스크를 테스트하는 루프의 일부로 호출되기 때문에이를 수행하는 가장 쉬운 방법입니다. –

+0

.each (function (i) {...});를 사용할 수 있다고 생각합니다. 그에 대한 – Soviut

0

색인 그냥 할 이유 개체의 일부에() SomejQueryFunctionForExampleShow을 실행하려면 : 당신은 모든 당신이 설명하는 경우 인덱스에 요소가없는

$("a-selector-which-returns-multiple-objects").SomejQueryFunctionForExampleShow(). 
+0

내 [색인]에 대한 요점은 여러 객체의 단일 멤버에만 영향을주고 싶다는 것입니다. –

0

은 원래 포장 세트를 필터링 한 다음 서브 세트에서 명령을 수행 (다음 end command 설정 싸서 원래로 돌아갑니다)하기 위해 filter command를 사용할 수 있습니다.

관련 문제