4. 탐색 선택자
: 탐색 선택자를 사용하면 기본 선택자로 선택한 요소 중 원하는 요소를 한 번 더 탐색해서 좀 더 정확하게 선택한다.
- 위치 탐색 선택자
: 기본 선택자로 선택한 요소는 배열에 담긴다. 이때 배열의 인덱스를 사용하면 특정 요소를 더 정확하게 선택할 수 있다.
종류 | 사용법 | 설명 |
$("요소 선택:first") $("요소 선택").first() |
$("li:first") $("li").first() |
전체 <li> 요소 중 첫 번째 요소만 선택한다. |
$("요소 선택:last") $("요소 선택"):last() |
$("li:last") $("li").last() |
전체 <li> 요소 중 마지막 요소만 선택한다. |
$("요소 선택:odd") | $("li:odd") | <li> 요소 무리 중 짝수 번째(홀수 인덱스)요소만 선택한다. |
$("요소 선택:even") | $("li:even") | <li> 요소 무리 중 홀수 번째(짝수 인덱스)요소만 선택한다. |
$("요소 선택:first-of-type") | $("li:first-of-type") | <li> 요소 무리 중 첫 번째 요소만 선택한다. |
$("요소 선택:last-of-type") | $("li:last-of-type") | <li> 요소 무리 중 마지막 요소만 선택한다. |
$("요소 선택:nth-child(숫자)") | $("linth-child(3)") | <li> 요소 무리 중 세 번째 요소만 선택한다. |
$("요소 선택:nth-child(숫자n)") | $("li:nth-child(3n)") | <li> 요소 무리 중 3의 배수 번째에 있는 요소만 선택한다. |
$("요소 선택:nth-last-of-type(숫자)") | $("li:nth-last-of-type(2)") | <li> 요소 무리 중 마지막 위치로부터 두 번째에 있는 요소만 선택한다. |
$("요소 선택:only-child") | $("li:only-child") | 부모 요소 내에 <li>요소가 1개뿐인 <li>요소만 선택한다. |
$("요소 선택:eq(index)") $("요소 선택").eq(index)") |
$("li:eq(2)") $("li").eq(2) |
<li> 요소 중 인덱스 2가 참조하는 요소를 불러온다. |
$("요소 선택:gt(index)") | $("li:gt(1)") | <li> 요소 중 인덱스 1보다 큰 인덱스가 참조하는 요소를 불러온다. |
$("요소 선택:lt(index)") | $("li:lt(1)") | <li> 요소 중 인덱스 1보다 작은 인덱스가 참조하는 요소를 불러온다. |
$("요소 선택").slice(index) | $("li").slice(2) | <li> 요소 중 인덱스 2부터 참조하는 요소를 불러온다. |
- 속성 탐색 선택자
: 선택한 요소를 기준으로 일치하는 속성의 포함 여부를 따져 요소를 선택하는 선택자이다.
종류 | 사용법 | 설명 |
$("요소 선택[속성]") | $("li[title]") | <li>요소 중 title 속성이 포함된 요소만 선택한다. |
$("요소 선택[속성=값]") | $("li[title='리스트']") | <li>요소 중 title 속성값이 '리스트'인 요소만 선택한다. |
$("요소 선택[속성^=텍스트]") | $("a[href^='http://']") | <li>요소 중 href 속성값이 'http://"로 시작하는 요소만 선택한다. |
$("요소 선택[속성$=텍스트]") | $("a[href$='.com']") | <li>요소 중 href 속성값이 '.com'으로 끝나는 요소만 선택한다. |
$("요소 선택[href*=텍스트]") | $("a[href*='easypub']") | <li>요소 중 href 속성값 중에서 'easypub'을 포함하는 요소만 선택한다. |
$("요소 선택:hidden") | $("li:hidden") | <li>요소 중 숨겨져 있는 요소만 선택한다. |
$("요소 선택:visible") | $("li:visible") | <li>요소 중 보이는 요소만 선택한다. |
$(":text") | $(":text") | <inpu> 요소 중 type속성값이 "text"인 요소만 선택한다. |
$(":selected") | $(":selected") | selected속성이 적용된 요소만 선택한다. |
$(":checked") | $(":checked") | checked속성이 적용된 요소만 선택한다. |
- 그 외의 선택자 < 콘텐츠 탐색 선택자
: 요소 또는 속성의 포함 여부에 따라 특정 요소를 선택하는 선택자이다.
종류 | 사용법 | 설명 |
$("요소 선택:contains(텍스트)") | $("li:contains('내용2')") | <li>요소 중 '내용2'라는 텍스트를 포함하는 요소만 선택한다. |
$("요소 선택").contents() | $("p").contents() | 선택한 요소의 하위 요소 중 가장 가까운 하위 요소를 선택한다. |
$("요소 선택:has(요소명)") $("요소 선택").has(요소명) |
$("li:has('span')") $("li").has('span') |
<li>요소 중 <span>을 포함하는 요소만 선택한다. |
$("요소 선택:not(:제외 요소)") $("요소 선택").not(:제외 요소) |
$("li:not(:first)") $("li") |
<li>요소 중 첫 번째 요소만 제외하고 선택한다. |
$(요소 선택).filter(필터 요소) | $("li").filter(".list2") | <li>요소 중 class값이 "list2"인 요소만 선택한다. |
$(요소 선택1).find(요소 선택2) | $("li").find("strong") | <li>요소의 하위 요소인 <strong>만 선택한다. |
$("요소 선택1").closest("요소 선택2") | $("strong").closest("div") | <strong>을 감싸는 상위 <div>요소 중 가장 가까운 상위 요소를 선택한다. |
end() | $("li").children("a").end() | 필터링이 실행되기 이전의 요소인 <li>가 선택된다. |
- 선택자와 함께 알아두면 유용한 메서드
종류 | 사용법 | 설명 |
is(":요소 상태") | $(".txt1").is(":visible") | 선택한 요소가 보이면 true를 반환한다. |
$.noConflict() | var 변수=$.noConflict(); 변수("요소 선택") |
$.noConflict()함수를 이용하면 현재 제이쿼리에서 사용중인 $메서드 사용을 중단하고 새로 지정한 변수명 메서드를 사용한다. |
get() | $("요소 선택").get(0). style.color="#f00" |
선택자에 get(0)을 적용하면 자바스크립트 DOM방식의 스타일을 사용할 수 있다. |
5. 제이쿼리 배열 관련 메서드
-배열 관련 메서드의 종류
종류 | 사용법 | 설명 |
each()/ $.each() | $("요소 선택").each(function) $.each($("요소 선택"),function) |
배열에 저장된 문서 객체만큼 메서드가 반복 실행된다. 배열에 저장된 객체의 인덱스 순서대로 하나씩 접근하여 객체를 선택하고 인덱스를 구한다. |
$.map() | $.map(Array, function) | 배열에 저장된 데이터 수만큼 메서드가 반복 실행된다. 함수에서 반환된 데이터는 새 배열에 순서대로 저장된다. 새로 저장된 배열 객체를 반환한다. |
$.grep() | $grep(Array, function) | 배열에 저장된 데이터 수만큼 메서드가 실행된다. 반환값이 true인 경우에만 배열의 데이터가 인덱스 오름차순으로 새 배열에 저장되며 그 배열을 반환한다. |
$.inArray() | $.inArray(data, Array, start index) | 배열 안에서 데이터를 찾는다. 데이터를 찾으면 가장 맨 앞 데이터의 인덱스를 반환하고, 찾지 못하면 -1을 반환한다. star index의 값을 지정하면 해당 위치부터 데이터를 찾는다. |
$.isArray() | $.isArray(object) | 입력한 객체가 배열 객체라면 true를, 아니면 false를 반환한다. |
$.merge() |
$.merge(Array1, Array2) | 인자값으로 입력한 2개의 배열 객체를 하나로 그룹화한다. |
index() | $("요소 선택").index("지정 요소 선택") | 선택자로 요소를 먼저 선택한다. 그런 다음 지정한 요소의 인덱스 정보를 가져온다. |
'프로그래밍 > JQuery' 카테고리의 다른 글
이벤트 등록 메서드 (0) | 2023.01.29 |
---|---|
JQuery_다양한 효과와 애니메이션 (0) | 2022.08.03 |
JQuery_제이쿼리 이벤트 (0) | 2022.07.28 |
JQuery_제이쿼리 문서 객체 선택자와 조작법(3) (0) | 2022.07.18 |
JQuery_제이쿼리 문서 객체 선택자와 조작법(1) (0) | 2022.07.12 |