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

jQuery API 정복 - 특정 조건을 만날 때까지 이전 요소들을 쭈욱, prevUntil()

by zoo10 2011. 6. 30.

.prevUntil()

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

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

개요 : 이전에 위치한 요소를 찾아 반환하다 요소가 필터 조건에 부합될 경우 실행이 멈춥니다.

  • .prevUntil( [selector,] [filter] )
  • selector 선택자
  • filter 영향을 받을 요소의 문자열 표현
  • .prevUntil( [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").prevUntil("dt")
  .css("background-color", "red");
  
var term1 = document.getElementById('term-1');
$("#term-3").prevUntil(term1, "dd")
  .css("color", "green");
</script>
 
</body>
</html>

미리보기

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

 

엄~~. nextAll() 함수 설명과 똑같습니다. 절때 귀차니즘 아닙니다. 본문도 그렇다니까요. 믿어 주세요. ^^;;;;

그럼 즐프하세요.

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