문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
study:php:jquery_셀렉터 [2011/08/11 04:50] kamajaki0601 새로 만듦 |
study:php:jquery_셀렉터 [2011/08/11 17:01] (현재) kamajaki0601 |
||
---|---|---|---|
줄 2: | 줄 2: | ||
jQuery의 가장 강력한 부분은 HTML DOM을 마음대로 트래버스 즉, 순회 탐색할 수 있다는 것이다. \\ | jQuery의 가장 강력한 부분은 HTML DOM을 마음대로 트래버스 즉, 순회 탐색할 수 있다는 것이다. \\ | ||
CSS 셀렉터를 사용하여 원하는 개체를 탐색할 수 있다. | CSS 셀렉터를 사용하여 원하는 개체를 탐색할 수 있다. | ||
+ | |||
+ | **다음과 같이 css 파일에서 사용했던 표현식이 바로 CSS 셀렉터 | ||
+ | ** | ||
+ | <code css> | ||
+ | div p { | ||
+ | font-color: | ||
+ | } | ||
+ | |||
+ | #loginID { | ||
+ | font-weight: | ||
+ | background: | ||
+ | } | ||
+ | |||
+ | .Columns { | ||
+ | padding: | ||
+ | background: | ||
+ | } | ||
+ | </ | ||
+ | div p라는 셀렉터는 현재 문서 상에서 div 요소의 자식으로 존재하는 모든 p 요소들에 적용되며, | ||
+ | #loginID는 loginID라는 id 값을 가진 요소에, .Columns는 class 어트리뷰트 값으로 Columns를 갖는 모든 요소에 적용 | ||
+ | |||
+ | 이러한 셀렉터를 그대로 jQuery에서 사용가능 \\ | ||
+ | |||
+ | jQuery에서는 원하는 DOM 요소의 그룹을 찾기 위해서 $(selector) 혹은 jQuery(selector)과 같은 표현식을 사용하기에, | ||
+ | 위의 3가지 셀렉터를 다음과 같이 사용할 수 있다. | ||
+ | <code css> | ||
+ | $("div p") 혹은 jQuery(" | ||
+ | $("# | ||
+ | $(" | ||
+ | </ | ||
+ | |||
+ | |||
+ | 또한, jQuery는 이러한 기본적인 CSS 셀렉터 외에 고급 CSS 셀렉터도 지원한다. \\ | ||
+ | * 계층 셀렉터 | ||
+ | * 일반 필터 셀렉터 | ||
+ | * 어트리뷰트 필터 셀렉터 등 | ||
+ | |||
+ | **계층 셀렉터 예** | ||
+ | |||
+ | < | ||
+ | p > a : p 요소 바로 아래 자식인 a 요소(하이퍼링크)와 일치된다. | ||
+ | div + p : div 요소의 바로 다음에 나오는 형제 p 요소와 일치된다. | ||
+ | div ~ p : div 요소의 다음에 나오는 모든 형제 p 요소와 일치된다. | ||
+ | </ | ||
+ | $("p a")와 $("p > a")의 차이점은 전자가 p요소 하위에 존재하는 모든 a 요소를 선택한다면, | ||
+ | 후자는 p 요소 바로 아래의 자식으로 놓여있는 a 요소만을 선택한다는 것이 차이이다. | ||
+ | |||
+ | 즉, 다음과 같은 html이 존재한다면, | ||
+ | |||
+ | <code html> | ||
+ | <p> | ||
+ | < | ||
+ | <a href=" | ||
+ | </ | ||
+ | <br /> | ||
+ | <a href=" | ||
+ | </p> | ||
+ | </ | ||
+ | |||
+ | $("p a")는 1.aspx 링크와 2.aspx 링크 모두를 선택하지만, | ||
+ | |||
+ | 다음과 같은 html 있다고 가정할 경우에, div + p 및 div ~ p오 ㅏ같은 경우는 자식이 아니라 형제 요소와 연관이 있다. \\ | ||
+ | <code html> | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | $("div + p")는 div 바로 다음에 나오는 형제 수준의 p 요소, 즉, " | ||
+ | $("div ~ p")는 div 요소 다음에 나오는 형제 요소들 중 모든 p 요소, 즉, " | ||
+ | |||
+ | 더불어, a[title]이나 a[href^=" | ||
+ | 특정 어트리뷰트가 존재하거나, | ||
+ | |||
+ | **다음은 이러한 어트리뷰트 필러의 예** | ||
+ | < | ||
+ | a[title] : title 어트리뷰트를 갖는 하이퍼 링크와 일치된다. | ||
+ | a[href^=" | ||
+ | a[href$=" | ||
+ | a[href*=" | ||
+ | input[type=" | ||
+ | </ | ||
+ | |||
+ | 이러한 선택이 가능한 것은 시작부분(^) 혹은 끝부분($)을 가리키는 정규 표현식을 jQuery가 지원하기 때문이다. \\ | ||
+ | |||
+ | **출처 : http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||