NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
- idg.co.kr 기사에서 발췌 -
1. 컨텍스트 선택
전체선택 : $(selector)
특정 DOM 선택 : $(selector, 'div#sampleDOM')
jQuery를 이용해 엘리먼트를 선택하려면 셀렉터를 $()로 감싸줘야 함
ex) $("p a.specialClass")
예제 |
설명 |
a |
모든 앵커(<a>) 엘리멘트와 일치 |
#specialID |
specialID를 id로 가진 엘리먼트와 일치 |
.specialClass |
specialClass를 클래스명으로 가진 모든 엘리먼트와 일치 |
a#specialID.specialClass |
앵커 태그에 specialClass를 클래스명으로 가지면서 specialID를 id로 가진 엘리먼트와 일치 |
p a.specialClass |
<p> 엘리먼트의 자손들 중에 specialClass를 클래스명으로 가진 모든 앵커 엘리먼트와 일치 |
< 간단한 몇 개의 CSS 셀렉터 예제 >
콤마 연산자를 사용해서 하나의 표현식에 여러 개의 셀렉터를 조합하여 사용 가능
&('div, span') : 모든 <div> 엘리먼트와 <span> 엘리먼트 선택
ul.myList li a
: ul 엘리먼트의 myList 클래스 밑에 li 밑에 모든 a 엘리먼트
p > a
: p 엘리먼트 바로 다음의 a 엘리먼트
a[href^=http://]
: href의 값이 정확히 http://로 시작하는 모든 링크와 일치하는 엘리먼트
form[method]
: 이 셀렉터는 명시적으로 method 어트리뷰터를 가지는 <form> 엘리먼트와 일치
input[type=text]
: type이 text인 모든 input 엘리먼트
div[title^= my]
title 어트리뷰트의 값이 my로 시작하는 모든 <div> 엘리먼트
a[href$=.pdf]
: pdf 파일을 참조하는 모든 링크를 찾아오는 셀렉터
a[href*=jquery.com]
: jQuery 사이트를 참조하는 모든 <a> 엘리먼트
2. CSS와 jQuery 정의 필터 셀렉터 사용
예제 |
설명 |
* |
모든 엘리먼트와 일치 |
E |
태그명이 E인 모든 엘리먼트와 일치 |
E F |
E의 자손이면서 태그명이 F인 모든 엘리먼트 |
E>F |
E의 바로 아래 자식이면서 태그명이 F인 모든 엘리먼트와 일치 |
E+F |
E의 형제 엘리먼트로 바로 다음에 나오는 엘리먼트 F와 일치 |
E~F |
E의 형제 엘리먼트로 다음에 나오는 모든 엘리먼트 F와 일치 |
E.C |
클래스명 C를 가지는 모든 엘리먼트 E와 일치. E의 생략은 *.C와 동일함 |
E#I |
아이디가 I인 엘리먼트 E와 일치. E의 생략은 *#I와 동일함 |
E[A] |
어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치 |
E[A=V] |
값이 V인 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치 |
E[A^=V] |
값이 V로 시작하는 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치 |
E[A$=V] |
값이 V로 끝나는 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치 |
E[A!=V] |
값이 아예 없거나 값이 V가 아닌 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치 |
E[A*=V] |
값에 V를 포함하는 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치 |
셀렉터 |
설명 |
:first |
컨텍스트에서 처음 일치하는 엘리먼트와 일치. li a:first는 리스트 아이템의 자손 중 첫 번째 링크를 반환 |
:last |
컨텍스트에서 마지막으로 일치하는 엘리먼트와 일치. li a:last는 리스트 아이템의 자손 중 마지막 링크를 반환 |
:first-child |
컨텍스트에서 첫 번째 자식 엘리먼트와 일치. li:first-child는 각 리스트의 첫 번째 리스트 아이템을 반환 |
:last-child |
컨텍스트에서 마지막 자식 엘리먼트와 일치. li:last-child는 각 리스트의 마지막 리스트 아이템을 반환 |
:only-child |
형제가 없는 모든 엘리먼트를 반환 |
:nth-child(n) |
컨텍스트에서 n번째 자식 엘리먼트와 일치. li:nth-child(2)는 각 리스트의 두 번째 리스트 아이템을 반환 |
:nth-child(even|odd) |
컨텍스트에서 짝수 또는 홀수 자식 엘리먼트와 일치. li:nth-child(even)은 각 리스트의 짝수 번째 리스트 아이템을 반환 |
:nth-child(Xn+Y) |
전달된 공식에 따른 n번째 자식 엘리먼트와 일치. Y가 0인 경우 생략 가능. li:nth-child(3n)은 3의 배수인 리스트 아이템을 반환한다. li:nth-child(5n+1)은 5의 배수 +1번째 리스트 아이템을 반환 |
:even |
컨텍스트에서 짝수 번째 엘리먼트와 일치. li:even은 모든 짝수 번째 리스트 아이템을 반환 |
:odd |
컨텍스트에서 홀수 번째 엘리먼트와 일치. li:odd는 모든 홀수 번째 리스트 아이템을 반환 |
:eq(n) |
n번째로 일치하는 엘리먼트와 일치 |
:gt(n) |
n번째 엘리먼트를 포함하지 않은 이후의 엘리먼트와 일치 |
:lt(n) |
n번째 엘리먼트를 포함하지 않은 이전의 엘리먼트와 일치 |
셀렉터 |
설명 |
CSS 지원 |
:animated |
현재 애니메이션이 적용되고 있는 엘리먼트를 선택 |
|
:button |
버튼 엘리먼트만 선택 |
|
:checkbox |
체크박스 엘리먼트만 선택 |
|
:checked |
선택된 체크박스 또는 라디오 버튼만 선택 |
O |
:contains(food) |
텍스트 food를 포함하는 엘리먼트만 선택 |
|
:disabled |
비활성화 상태인 엘리먼트만 선택 |
O |
:enabled |
활성화 상태인 엘리먼트만 선택 |
O |
:file |
파일 타입 엘리먼트만 선택 |
|
:has(selector) |
셀렉터와 일치한 최소 한 개 이상의 엘리먼트를 포함하는 엘리먼트만 선택 |
|
:header |
헤더 엘리먼트만 선택 |
|
:hidden |
감춰진 엘리먼트만 선택 |
|
:image |
이미지 타입의 엘리먼트만 선택 |
|
:input |
폼 엘리먼트만 선택 input, select, textarea, button |
|
:not(selector) |
셀렉터의 값을 반대로 변경 img:not([src*="dog"]) |
O |
:has(selector) |
자손 엘리먼트를 포함한 조상 엘리먼트를 선택 div:has(span) |
O |
:parent |
빈 엘리먼트를 제외하고, 텍스트도 포함해서 자식 엘리먼트를 가지는 엘리먼트 선택 |
|
:password |
패스워드 엘리먼트만 선택 |
|
:radio |
라디오 엘리먼트만 선택 |
|
:reset |
리셋 버튼만 선택 |
|
:selected |
선택된 상태의 옵션(<option>) 엘리먼트만 선택 |
|
:submit |
전송 버튼만 선택 |
|
:text |
텍스트 타입 엘리먼트만 선택 |
|
:visible |
보이는(visible) 엘리먼트만 선택 |
|
3. 새로운 HTML 생성
<example>
$("<div>Hello</div>")
$('<img>',
{
src : 'xxx.png'.
alt : 'string',
title : 'title',
click : function() {
// implementation
)}
}
)
4. 확장된 엘리먼트 집합 관리
메서드 |
설명 |
children([selector]) |
확장 엘리먼트의 고유한자식으로 구성된 확장 집합을 반환 |
closet([selector]) |
존재할 경우, 전달된 표현식과 일치하는 가장 가까운 조상 하나로 구성된 확장 집합 반환 |
contents() |
확장 집합에서 엘리먼트의 컨텐츠로 구성된 확장 집합 반환. 여기에는 텍스트 노드도 포함되며 주로 <iframe> 엘리먼트의 컨텐츠를 얻고자 사용 |
next([selector]) |
확장 집합의 각 확장 엘리먼트 다음에 나오는 형제로 구성된 확장 집합 반환 |
nextAll([selector]) |
확장 집합의 각 확장 엘리먼트 다음에 나오는 모든 형제로 구성된 학장 집합 반환 |
nextUntil([selector]) |
확장 집합의 각 확장 엘리먼트 다음에 나오는 모든 형제부터 셀렉터와 일치하는 엘리먼트 전까지의 확장 집합을 반환. 셀렉터와 일치하는 엘리먼트가 없거나 셀렉터가 생략되면 모든 형제 엘리먼트가 선택 |
offsetParent() |
확장 집합에 상대 혹은 절대적으로 가장 가까운 위치한 첫 번째 엘리먼트의 부모로 구성된 확장 집합 반환 |
parent([selector]) |
확장 집합에 있는 모든 확장 엘리먼트의 바로 위 부모로 구성된 확장 집합 반환 |
parents([selector]) |
모든 확장 엘리먼트의 조상으로 구성된 확장 집합 반환. 바로 위 부모와 상위의 모든 조상이 포함되지만 문서 루트(document root)는 포함되지 않음 |
parentsUntil([selector]) |
확장 집합에 있는 엘리먼트의 모든 조상부터 셀렉터와 일치하는 엘리먼트 전까지의 확장 집합을 반환. 셀렉터와 일치하는 엘리먼트가 없거나 셀렉터가 생략되면 모든 조상 엘리먼트 선택 |
prev([selector]) |
확장 집합의 각 확장 엘리먼트 바로 이전에 나오는 형제로 구성된 확장 집합 반환 |
prevAll([selector]) |
확장 집합의 각 확장 엘리먼트 이전에 나오는 모든 형제로 구성돤 확장 집합 반환 |
prevUntil([selector]) |
확장 집합 내에 있는 엘리먼트의 모든 이전 형제부터 셀렉터와 일치하는 엘리먼트 전까지의 확장 집합 반환. 셀렉터와 일치하는 엘리먼트가 없거나 셀렉터가 생략되면 모든 이전 형제 엘리먼트들이 선택 |
siblings([selector]) |
확장 엘리먼트의 모든 형제를 포함하는 확장 집합을 반환 |
다른 HTML DOM 엘리먼트의 관계를 통해 새로운 확장 집합을 얻을 수 있는 메서드
확장 집합을 이용하는 기타 방법
wrappedSet.find('p cite')
find(selector)
원본 엘리먼트의 모든 자손 엘리먼트 중 전달된 셀렉터 표현식과 일치하는 엘리먼트로 구성된 새로운 확장 집합 반환
매개변수 : selector (String) 반환될 집합의 일부가 될 엘리먼트가 일치하는 셀렉터
반환 값 : 새로 생성된 확장 집합
var hasImage = $('*').is('img')
is(selector)
확장 집합에 전달된 셀렉터 표현식과 일치하는 엘리먼트가 있는지 확인
매개변수 : selector (String) 확장 집합 엘리먼트를 평가할 셀렉터 표현식
반환 값 : 전달된 셀렉터에 하나라도 일치하면 true, 그렇지 않으면 false
jQuery 체인 관리하기
andSelf()
매서드 체인에서 이전 확장 집합 두 개를 하나로 합침
매개변수 : 없음
반환 값 : 합쳐진 확장 집합