본문 바로가기
프로그래밍/jQuery

jQuery API 정복 - 조건이 맞을 때까지 쭈욱, nextUntil()

by zoo10 2011. 6. 22.

.nextUntil()

원문 링크 http://api.jquery.com/nextUntil/

.nextUntil( [selector,][filter] )Returns : jQuery

개요 : 다음번에 오는 요소가 필터 조건에 부합될 경우 실행이 멈춥니다.

  • .nextUntil( [selector,] [filter] )
  • selector 선택자
  • filter 영향을 받을 요소의 문자열 표현
  • .nextUntil( [element,] [filter] )
  • element 만났을 때 실행을 종료할 DOM 노드 또는 jQuery 객체
  • filter 영향을 받을 요소의 문자열 표현

본문에 보면 장황하게 설명되어 있습니다만 저는 짧게 하겠습니다. 그리 중요한 함수로 보이지는 않아서요. 이 함수는 어떤 조건을 만날때까지 특정한 행동을 할 수 있게 할 수 있습니다. 쉽게 말씀드리면 '한국슈퍼를 만날 때까지 앞으로 쭈욱 걸어가세요.' 라고 말씀드리면 되겠네요. 이것으로 설명 끝~~

jQuery 1.6 버젼부터는 selector 대신에 Dom 노드나 jQuery 객체를 사용할 수 있게 업버젼 됬다고 추가 설명이 되어 있네요. 바로 예제 고고씽

예 제  
특정 조건을 만날 때까지 특정 행동을 합니다.

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <dl>
  <dt id="term-1">term 1</dt>
  <dd>definition 1-a</dd>
  <dd>definition 1-b</dd>
  <dd>definition 1-c</dd>
  <dd>definition 1-d</dd>

  <dt id="term-2">term 2</dt>
  <dd>definition 2-a</dd>
  <dd>definition 2-b</dd>
  <dd>definition 2-c</dd>

  <dt id="term-3">term 3</dt>
  <dd>definition 3-a</dd>
  <dd>definition 3-b</dd>
</dl>
<script>  
$("#term-2").nextUntil("dt")
  .css("background-color", "red");

var term3 = document.getElementById("term-3");
$("#term-1").nextUntil(term3, "dd")
  .css("color", "green");

</script>

</body>
</html>

미리보기

첫번째는 id=item-2 부터 시작해서 dt 엘리먼트를 만날 때까지 빨간색을 칠하라는 스크립트입니다. 두번째는 id=item-1 부터 시작해서 id=item-3 인 것을 만날 때까지 텍스트 색을 초록색으로 만듭니다. 단, 'dd' 인 것들만 적용됩니다. 'dd' 부분을 제거해 보시면 쉽게 이해하실 수 있습니다.

 

음, 작성하고 보니 어느정도 효용성은 있어 보이네요. 그래도 이 정도면 패수~

그럼 즐프하세요.

※ 본 예제는 http://www.jquery.com 에 있는 내용임을 밝힙니다.