2010-08-11 2 views
39

현재 요소에서 다음 n 요소를 어떻게 선택합니까? 내 말은 ...jQuery의 현재 요소에서 시작하여 다음 "n"요소를 선택하려면 어떻게해야합니까?

$(this).attr(...); 

"n"번하고 싶습니다.

$(this).attr(...); 
$(this).next().attr(...); 
$(this).next().next().attr(...); 
$(this).next().next().next().attr(...); 

혹은 루프에서 수행합니다 : N = 4의 예를 들어

for (i = 0; i < n; i++) { 
    $(this).next().attr(...); 
} 

내가 어떻게 할 수 있습니까? 다음 "n"개 요소를 선택하거나 반복하여이 작업을 수행 할 수있는 방법이 있습니까?

+5

을을 downvoted했다? 이것은 잘 표현되어 있으며 일반적인 문제입니다. –

+1

동의. 두 번의 다운 득표와 설명 없음. 투표지를 다운시킨 사람은 이유를 제시해야합니다. 이것은 나에게 완벽하게 합리적인 질문처럼 보입니다. – user113716

답변

51

이 작동합니다 :

$(this).nextAll().slice(0,4).attr(…) 

업데이트 :

이도 작동합니다 : 도대체이 이유를

$(this).nextAll("*:lt(4)").attr(…) 
+0

slice()의 '0'은 $ (this)가됩니까? – Hristo

+0

아니요. 이전에'.nextAll()'을 호출했기 때문에 요소 자체가 포함되어 있지 않습니다. – jigfox

+8

@Hristo - 원래의 것이 필요하면'$ (this) .nextAll(). andSelf()) ... '. – user113716

0

$(this).slice(start_index, end_index)은 선택 항목의 일부를 선택합니다. 루프에서 현재 색인을 추적 한 다음 조건에 맞을 때 원래 세트에 .slice(cur_index, cur_index+n) 기능을 적용 할 수 있습니다.

10

the nextAll method은 요소의 다음 형제를 선택합니다. 선택적으로 선택기로 필터링 할 수 있습니다. 그런 다음 slice을 사용하여 더 작은 n으로 제한 할 수 있습니다.

+0

이것이 방법입니다. –

관련 문제