외규장각 도서 환수 모금 캠페인

'Interesting'에 해당되는 글 74건

  1. 2012.07.13 NSZombie 사용법
  2. 2012.07.11 mobile web + webApp head meta tag javascript
  3. 2012.07.11 UIDocument
  4. 2012.07.11 UIPageViewController
  5. 2012.07.10 UINavigationController 제어하기
  6. 2012.07.10 NSFileManager, NSFileHandle, NSData
  7. 2012.04.26 Xcode String trim 방법
  8. 2012.04.25 How To xml parser
  9. 2012.04.25 NSString <-> NSData
  10. 2012.04.19 2
EXC_BAD_ACCESS 디버깅하는 방법








출처 : http://xinics.tistory.com/entry/Xcode-4-NSZombie



Posted by 닉네임영역
,


<meta name="viewport" content="user-scalable=no, initial-scale=1.0, minimun-scale=1.0, maximum-scale=1.0, width=device-width, target-densitydpi=device-dpi"/>

-> 화면 사이즈


<meta name="apple-mobile-web-app-capable" content="yes" />

-> 홈 화면에 바로가기 만들었을 경우 주소입력창 없애기


<meta name="apple-mobile-web-app-status-bar-style" content="black" />

-> status bar 색 지정 black | white


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

-> 한글 인코딩(깨짐 현상 해결책)


window.addEventListener('load', function() {

setTimeout(scrollTo(0, 0), 1);

}, false);

-> 주소창 숨기기

* 하지만 내용이 화면을 넘어가지 않으면 사라지지 않는다

강제로 무조건 사라지게 하려면 viewport에 height=device-height를 추가하면된다.

하지만 이 또한 문제가 생기는것 같다

orientationchange가 발생하면 portrait 와 landscape 의 적절한 사이즈가 조절되지 않는것 같다.

현재까지는 그렇다....

 결론은 height=device-height 를 넣고 orientationchange가 발생했을 때 width와 height를 내가 원하는대로 되지 않았다.

조금 더 삽질을 해봐야 할 듯하다...

Posted by 닉네임영역
,

UIDocument 클래스 - 문서와 내용을 쉽게 생성하고 관리하기 위한 방법 제공

 추상클래스이므로 UIDocument의 서브클래스를 만들고 최소한 다음 두 가지의 메소드를 오버라이   드 해야한다.

- contentsForType:error - 데이터가 파일이나 문서로 쓰여질 때 UIDocument 서브클래스에 의해 호출된다. 이 메서드는 쓰여질 데이터를 수집하고 NSData나 NSFileWrapper 오브젝트로 리턴하는 것을 담당한다.


- loadFromContents:ofType:error - 데이터가 파일이나 문서로부터 읽혀질 때 서브클래스에 의해 호출된다. 이 메서드는 UIDocument 서브클래스에 의해 파일로부터 읽혀진 내용을 전달받아 애플리케이션의 데이터 모델에 로드하는 것을 담당한다.


UIDocument 서브클래스 오브젝트의 현재 상태는 오브젝트의 documentState 속성을 통해 알 수 있다.

- UIDocumentStateNormal - 문서가 오픈되었고 사용자는 편집 할 수 있다.

- UIDocumentStateClosed - 문서는 현재 닫혀 있다. 문서를 읽는 도중 에러가 발생한 경우도 해당된다.

- UIDocumentStateInConflict - 문서에 대해 충돌이 감지되었다.

- UIDocumentStateSavingError - 문서를 저장하려 할 때 에러가 발생하였다.

- UIDocumentStateEditingDisabled - 문서가 busy 상태이며, 편집하기에 안전하지 않다.


옵저버에 UIDocumentStateChangedNotification 노티피케이션을  등록함으로써 처리 가능

Posted by 닉네임영역
,

UIPageViewController Data Source


<UIPageViewControllerDataSource>


viewControllerAfterViewController -  현재 표시되고 있는 페이지의 뷰 컨트롤러를 전달받고 다음 페이지를 표시할 뷰 컨트롤러를 리턴한다.


viewControllerBeforeViewController - 현재 표시되고 있는 페이지의 뷰 컨트롤러를 전달받고 전 페이지를 표시할 뷰 컨트롤러를 리턴한다.


페이지 컨트롤러는 수직 혹은 수평으로 뷰들을 전환 가능.

수평의 경우 - 손가락으로 실제 책의 페이지를 오른쪽으로 혹은 왼쪽으로 넘기는 것처럼 동작

수직의 경우 - 벽결이 달력의 페이지를 넘기는 것처럼 수직으로페이지가 전환


- UIPageViewControllerNavigationOrientationHorizontal

- UIPageViewControllerNavigationOrientationVertical


<UIPageViewControllerDelegate>


spineLocationForInterface - 사용자에 의해 기기가 회전할 때 스파인 위치가 바뀔수 있게 한다.

transitionComplete - 화면 기반의 제스처에 의해 페이지 전환이 끝난 후 호출 completion Handler에 의해 전환이 성공했는지 아닌지 판별 


Posted by 닉네임영역
,

pushViewController:animated - 지정한 뷰 컨트롤러를 내비게이션 컨트롤러 스택의 최상위에 위치시키고 해당하는 뷰를 사용자에게 표시한다.


popViewControllerAnimated - 내비게이션 컨트롤러 스택의 최상위의 뷰 컨트롤러를 제거함으로써 다음 뷰 컨트롤러를 현재 활성화된 컨트롤러로 만든다.


popToRootViewControllerAnimated - 내비게이션 컨트롤러 스택에서 루트 뷰 컨트롤러를 제외한 모든 뷰 컨트롤러를 제거한다.


popToViewController:animated - 지정한 뷰 컨트롤러를 만날 때까지 스택의 뷰 컨트롤러들을 제거한다. 원하는 상위 단계로 곧바로 이동하고 싶을 때 사용된다.

setViewControllers:animated - 원하는 위치의 뷰 컨트롤러로 이동할 때 사용된다.

Posted by 닉네임영역
,

NSFileManager - NSFileManager 클래스는 파일 생성, 이동, 읽기, 쓰기, 그리고 파일의 속성 읽고 설정하기와 같은 기본적인 파일과 디렉토리 작업을 할 때 사용된다. 게다가 이 클래스는 현재 작업 중인 디렉토리를 식별하는 것과 새로운 디렉토리로 변경하는 것, 그리고 디렉토리를 생성하고 디렉토리에 있는 항목들을 나열하는 작업을 위한 메서드들을 제공한다.


NSFileHandle - NSFileHandle 클래스는 파일 내에서의 특정 위치를 찾는 것과 일정 크기의 바이트 양의 파일 내용을 읽고 쓰는 것과 기존의 파일에 데이터를 추가하는 것과 같이 낮은 수준의 작업을 수행하기 위하여 제공된 클래스다.


NSData - NSData 클래스는 읽어 온 파일의 내용이나 파일에 쓸 데이터를 위하여 유용한 저장 버퍼를 제공한다.



NSFileManager *filemgr;

NSString *currentpath;


filemgr = [NSFileManager defaultManager]; 

currentpath = filemgr currentDirectoryPath]; // 현재 작업 중인 디렉토리


if([filemgr changeCurrentDirectoryPath: @"/temp/mydir"] == NO) //디렉토리 변경 실패했을 경우

NSLog(@"Cannot change directory");


currentpath = [filemgr currentDirectoryPaht];


[filemgr createDirectoryAtPath: @".tmp/mynewdir", attributes: nil]; // 새로운 디렉토리 생성


[filemgr removeItemAtPath: @"/tmp/mynewdir" error:nil ]; // 디렉토리 삭제


[filemgr movePath:@"/tmp/mynewdir" toPath: @"/tmp/mynewdir2" handle:nil]; // 디렉토리 이름 변경과 이동


NSArray *filelist;

filelist = [filemgr directoryContentsAtPath: @"/tmp"]; // 디렉토리에 있는 파일 목록 얻기


if([filemgr fileExistsAtPath: @"/tmp/myfile.txt"] == YES) // 파일이 있을 경우

     NSLog(@"File exists");


if([filemgr contentsEqualAtPath: @"/tmp/myfile.txt" andPath: @"/tmp/sales.txt"] == YES) // 두 개의 파일 내용 비교



접근 권한 - 파일 경로를 인자로 받는다

- isReadableFileAtPath:

- isWritableFileAtPath:

- isExecutableFileAtPath:

- isDeletableFileAtPath;



NSFileManager *filemgr;

NSData *databuffer;


filemgr = [NSFileManager defaultManager];


databuffer = [filemgr contentsAtPath: @"/tmp/myfile.txt"]; // 내용 담기



 NSString *homedir;

homedir = NSHomeDirectory(); // 현재사용자의 홈 디렉토리 얻기



* NSCopying 프로토콜을 사용하여 객체를 복사하면 복사한 객체의 값이 변하더라도 원본 객체의 값에는 변화가 없다.


Posted by 닉네임영역
,

NSString *aStr = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharactersSet]];

Posted by 닉네임영역
,

NSXMLParser *parser = [[NSXMLParser alloc] initWithData:[xml dataUsingEncoding:NSUTF8StringEncoding]];

[parser setDelegate:self];

[parser parse];

[parser release];


- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict

{

    // Start 태그를 만났을 때

}


- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

{

    // End 태그를 만났을 때

}


- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

{

// 값을 찾았을 때

}

Posted by 닉네임영역
,

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

Posted by 닉네임영역
,

2

Interesting/jQuery 2012. 4. 19. 09:58

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와 일치 

jQuery에서 지원하는 기본 CSS 셀렉터


 셀렉터

 설명 

 :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번째 엘리먼트를 포함하지 않은 이전의 엘리먼트와 일치 

jQuery가 지원하는 위치 기반 필터 셀렉터

 

 셀렉터 

 설명 

 CSS 지원 

 :animated 

 현재 애니메이션이 적용되고 있는 엘리먼트를 선택

 

 :button 

 버튼 엘리먼트만 선택
 input[type=submit], input[type=reset], input[type=button], button 

 

 :checkbox 

 체크박스 엘리먼트만 선택
 input[type=checkbox] 

 

 :checked 

 선택된 체크박스 또는 라디오 버튼만 선택 

 O 

 :contains(food) 

 텍스트 food를 포함하는 엘리먼트만 선택 

 

 :disabled 

 비활성화 상태인 엘리먼트만 선택  

 O 

 :enabled 

 활성화 상태인 엘리먼트만 선택 

 O 

 :file 

 파일 타입 엘리먼트만 선택
 input[type=file] 

 

 :has(selector) 

 셀렉터와 일치한 최소 한 개 이상의 엘리먼트를 포함하는 엘리먼트만 선택 

 

 :header 

 헤더 엘리먼트만 선택
 예를 들어 <h1>에서 <h6>까지의 엘리먼트 선택 

 

 :hidden 

 감춰진 엘리먼트만 선택 

 

 :image 

 이미지 타입의 엘리먼트만 선택
 input[type=image] 

 

 :input

 폼 엘리먼트만 선택

 input, select, textarea, button 

 

 :not(selector) 

 셀렉터의 값을 반대로 변경

 img:not([src*="dog"])

 O 

 :has(selector)

 자손 엘리먼트를 포함한 조상 엘리먼트를 선택

 div:has(span)  

 O 

 :parent 

 빈 엘리먼트를 제외하고, 텍스트도 포함해서 자식 엘리먼트를 가지는 엘리먼트 선택 

 

 :password 

 패스워드 엘리먼트만 선택
 input[type=password] 

 

 :radio 

 라디오 엘리먼트만 선택
 input[type=radio] 

 

 :reset 

 리셋 버튼만 선택
 input[type=reset], button[type=reset] 

 

 :selected 

 선택된 상태의 옵션(<option>) 엘리먼트만 선택 

 

 :submit 

 전송 버튼만 선택
 button[type=submit], input[type=submit] 

 

 :text 

 텍스트 타입 엘리먼트만 선택
 input[type=text] 

 

 :visible 

 보이는(visible) 엘리먼트만 선택 

 

CSS와 jQuery 정의 필터 셀렉터

3. 새로운 HTML 생성

<example>

$("<div>Hello</div>")

$('<img>',

{

src : 'xxx.png'.

alt : 'string',

title : 'title',

click : function() {

// implementation

)}

}

)


4. 확장된 엘리먼트 집합 관리

  1. 확장집합의 크기 결정
    • $('a').size()
    • 확장 집합된 엘리먼트 개수 반환
    • 매개변수 : 없음
    • 반환 값 : 엘리먼트 개수
  2. 확장 집합에서 엘리먼트 획득
    • var imgElement = $('img[alt'])[0] / var imgElement = $('img[alt]).get(0)
    • get(index)
    • 확장 집합에서 하나 또는 모든 일치하는 엘리먼트 가져옴. 매개변수가 명시되지 않았다면 확장 집합에서 모든 엘리먼트를 자바스크립트 배열로 반환, index 매개변수가 주어진다면 해당 인덱스의 엘리먼트 반환
    • 매개변수 : index(number) 얻으려는 엘리먼트 인덱스, 생락하면 전체 집합 배열로 반환
    • 반환 값 : 하나의 DOM 엘리먼트 또는 DOM 엘리먼트 집합

    • eq(index)
    • 확장 집합에서 index에 맞는 엘리먼트를 가져오고 해당 엘리먼트를 포함한 새로운 확장 집합 반환
    • 매개변수 : index(number) 얻으려는 엘리먼트의 인덱스. get() 메서드처럼, 생략하면 전체 집합 배열로 반환
    • 반환 값 : 하나 또는 빈 엘리먼트 포함한 확장 집합

    • first()
    • 확장 집합에서 첫 번째 엘리먼트를 가져오고 해당 엘리먼트를 포함한 새로운 확장 집합을 반환. 만약 확장 집합이 비어있다면 빈 확장 집합이 반환
    • 매개변수 : 없음
    • 반환 값 : 하나 또는 빈 엘리먼트를 포함한 확장 집합

    • last()
    • 확장 집합에서 마지막 엘리먼트를 가져오고 해당 엘리먼트를 포함한 새로운 확장 집합 반환. 만약 확장 집합이 비어있다면 빈 확장 집합 반환

    • var allLabeledButtons = $('label+button').toArray();
    • toArray()
    • 확장 집합의 DOM 엘리먼트의 배열 반환
    • 매개변수 : 없음
    • 반환 값 : 확장 집합에 있는 DOM 엘리먼트의 자바스크립트 배열

    • var n = $('img').index('img#id');
    • index(element)
    • 확장 집합에서 전달된 엘리먼트를 찾고, 집합에서 찾은 엘리먼트의 인덱스를 반환. 또느 확장 집합의 첫 번째 엘리먼트의 인덱스를 찾는다. 집합에 해당 엘리먼트가 존재하지 않으면 -1 반환
    • 매개변수 : element(Elelement | Selector) 순서 번호를 알고자 하는 엘리먼트의 참조, 또는 엘리먼트를 식별할 셀렉터. 생략하면 확장 집합에 있는 형제 엘리먼트 중에서 첫 번째 엘리먼트를 찾는다.
    • 반환 값 : 확장 또는 확장 집합의 형제들에게 전달된 엘리먼트의 순서 번호, 발견되지 않으면 -1
  3. 확장 엘리먼트 집합 재편성
    • $('img[alt]').add('img[title]')
    • add(expression, context)
    • 확장 집합의 복사본을 생성하고 expression 매개변수로 명시한 엘리먼트를 확장 집합에 추가. 표현식에는 셀렉터, HTML 코드, DOM 엘리먼트, DOM 엘리먼트의 배열
    • 매개변수 : 
      1. expression(Selector | Element | Array) 확장 집합에 추가될 대상 명시. jQuery 셀렉터도 매개변수가 될 수 있음. 이 경우 셀렉터에 일치하는 엘리먼트가 집합에 추가됨. 매개변수로 HTML코드가 전달되면 적합한 엘리먼트가 생성되어 집합에 추가됨. 매개변수가 DOM 엘리먼트나 DOM 엘리먼트의 배열인 경우 집합에 추가
      2. context (Selector | Element | Array | jQuery) 첫 번째 매개변수와 일치하는 엘리먼트를 찾는 범위를 제한하는 컨텍스트를 명시. 이것은 jQuery 함수에 전달되는 컨텍스트와 동일
    • 반환 값 : 추가된 엘리먼트가 포함된 원본 집합의 복사본
    • $('img[title]').not('[title*=puppy]')
    • $('img').not(function() { return !$(this).hasClass('test'); })
    • not(expression)
    • 확장 집합의 복사본을 생성하고 표현식 매개변수의 값에 따라서 일치하는 엘리먼트를 새로운 집합에서 제거
    • 매개변수 : expression (Selector | Element | Array | Function) 제거할 아이템 명시. 매개변수가 jQuery 셀렉터라면 일치하는 모든 엘리먼트를 제거. 엘리먼트 참조 또는 엘리먼트 배열이 전달되면 집합에서 해당 엘리먼트를 제거. 함수가 전달되면 확장 집합의 아이템마다 함수가 실행(아이템이 this에 할당)되고 확장 집합에서 제거된 아이템이 있을 때 true를 반환
    • 반환 값 : 제거된 엘리먼트가 포함되지 않은 원본 집합의 복사본
    • $('td').filter(function() { return this.innerHTML.match(/^\d+$) } );
    • filter(expression)
    • 확장 집합의 복사본을 생성하고 표현식 매개변수의 값에 따라서 일치하지 않는 엘리먼트를 새로운 집합에서 제거
    • 매개변수 : expression (Selector | Element | Array | Function) 제거할 아이템 명시. 매개변수가 jQuery 셀렉터라면 일치하지 않는 모든 엘리먼트를 제거. 엘리먼트 참조 또는 엘리먼트 배열이 전달되면 집합에서 모든 엘리먼트 제거. 함수가 전달되면 확장 집합의 아이템마다 함수가 실행(아이템이 this에 할당)되고 확장 집합에서 제거된 아이템이 있을 때 false를 반환
    • 반환 값 : 필터링된 엘리먼트가 포함되지 않은 원본 집합의 복사본
    • $('*').slice(2,3)
    • slice(begin, end)
    • 매개변수
      begin (Number) 반환되는 부분 집합에 포함될 첫 엘리먼트의 위치로 0부터 시작
      end (Number) 반환되는 부분 집합에 포함될 마지막 엘리먼트의 바로 다음 위치로, 0부터 시작. 생략하면 집합의 마지막까지 포함
    • $('div').has('img[alt]')
    • has(test)
    • 원본 확장 집합에서 전달된 test 표현식과 일치하는 자손을 가진 엘리먼트를 포함한 새로운 확장 집합 생성 반환
    • 매개변수 : test (Selector | Element) 확장 집합의 모든 자손에 적용될 셀렉터 또는 검사될 엘리먼트. 셀렉터 혹은 전달된 엘리먼트와 일치하는 엘리먼트를 가진 엘리먼트만이 반환된 확장 집합에 포함
    • 반환 값 : 검사 결과로 생성된 확장된 집합
    • var allIds = $('div').map(function() {
          return (this.id == undefined) ? null : this.id;
      }).get();
    • map(callback)
    • 확장 집합의 엘리먼트를 순회하면서 콜백 함수를 실행하고 jQuery 객체 인스턴스 내 반환된 값을 모음
    • 매개변수 : callback(Function) 확장 집합의 엘리먼트를 순회하면서 실행할 콜백 함수. 콜백 함수에 두 개의 매개변수가 전달된다 첫 번째는 0부터 시작하는 집합의 엘리먼트 인덱스이고 두 번째는 엘리먼트 자신. 엘리먼트는 또한 함수 컨텍스트로 설됭(this 키워드)
    • 반환 값 : 변환된 값을 가진 확장 집합
    • $('img').each(function() {
          this.alt='image['+n'] 의 id는 '+this.i' 이다';
      });
    • $([1,2,3]).each(function() { alert9this); });
    • each(iterator)
    • 전달된 iterator 함수가 확장 집합의 모든 엘리먼트를 순회하면서 실행
    • 매개변수 : iterator(Function) 일치된 집합의 각 엘리먼트마다 호출되는 함수. 함수에 두 개의 매개변수가 전달. 첫 번째는 0부터 시작하는 집합의 엘리먼트 인덱스 번호이고, 두 번째는 엘리먼트 자신. 엘리먼트는 또한 함수 컨텍스트로 설정
    • 반환 값 : 확장 집합
  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 엘리먼트의 관계를 통해 새로운 확장 집합을 얻을 수 있는 메서드

  5. 확장 집합을 이용하는 기타 방법

    • wrappedSet.find('p cite')

    • find(selector)

    • 원본 엘리먼트의 모든 자손 엘리먼트 중 전달된 셀렉터 표현식과 일치하는 엘리먼트로 구성된 새로운 확장 집합 반환

    • 매개변수 : selector (String) 반환될 집합의 일부가 될 엘리먼트가 일치하는 셀렉터

    • 반환 값 : 새로 생성된 확장 집합 

    • var hasImage = $('*').is('img')

    • is(selector)

    • 확장 집합에 전달된 셀렉터 표현식과 일치하는 엘리먼트가 있는지 확인

    • 매개변수 : selector (String) 확장 집합 엘리먼트를 평가할 셀렉터 표현식

    • 반환 값 : 전달된 셀렉터에 하나라도 일치하면 true, 그렇지 않으면 false

  6. jQuery 체인 관리하기

    • andSelf()

    • 매서드 체인에서 이전 확장 집합 두 개를 하나로 합침

    • 매개변수 : 없음

    • 반환 값 : 합쳐진 확장 집합



Posted by 닉네임영역
,


사랑합니다. 편안히 잠드소서