탐색 선택자
탐색 선택자를 사용하면 기본 선택자로 선택한 요소 중 원하는 요소를 한번 더 탐색해서 좀 더 정확하게
선택할 수 있다.
대표적인 탐색 선택자에는 배열의 인덱스(index)를 사용해 선택하는 '위치 탐색 선택자'와
배열에 담겨진 요소 중 지정된 속성과 값으로 선택하는 '속성 탐색 선택자'가 있다.
위치 탐색 선택자
기본 선택자로 선택한 요소는 배열에 담긴다. 이때 배열의 인덱스를 사용하면 특정 요소를 좀 더
정확하게 선택할 수 있다.
다음은 위치 탐색 선택자의 종류를 간단하게 정리한 표이다.
종류 | 사용법 | 설명 |
$(“요소 선택: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(숫자)”) | $(“li:nth-child(3)”) | <li> 요소 무리 중 세 번째 요소만 선택 |
$(“요소 선택:nth-child(숫자n)”) | $(“li:nth-chile(3n)”) | <li> 요소 무리 중 3의 배수 번째에 있는 요소만 선택 |
$(“요소 선택:nth-last-of-type (숫자)”) |
$(“li:nth-last-of-type(2)”) | <li> 요소 무리 중 마지막 위치로부터 두번째에 있는 요소만 선택 |
$(“요소 선택:only-child”) | $(“li:ony-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부터 참조하는 요소를 불러온다 |
first/last 선택자
first 선택자는 선택된 요소 중 첫번째 요소만 선택한다. 이와 반대로 last 선택자는 선택된 요소 중 마지막 요소만 선택
한다.
$("요소 선택:first")또는 $("요소 선택").first()
$("요소 선택:last") 또는 $("요소 선택").last()
다음은 문단 태그 영역에 first 선택자와 last선택자를 적용한 예제이다.
<script>
$(function(){
$("#menu li:first") //index 0
.css({"background-color":"#ff0"});
$("#menu li:last") //index 3
.css({"background-color":"#0ff"});
});
</script>
</head>
<body>
<h1>탐색 선택자</h1>
<ul id="menu">
<li>내용1</li>
<li>내용2</li>
<li>내용3</li>
<li>내용4</li>
</ul>
</body>
even/odd 선택자
even 선택자는 선택한 요소 중 홀수 번째(짝수 인덱스)요소만 선택하고, 이와 반대로 odd 선택자는
짝수번째(홀수 인덱스)요소만 선택한다.
다음은 even선택자와 odd선택자의 기본형이다.
$("요소 선택:even")
$("요소 선택:odd")
<script>
$(function(){
$("#menu li:even") //index 0, 2
.css({"background-color":"#ff0"});
$("#menu li:odd") //index 1, 3
.css({"background-color":"#0ff"});
});
</script>
</head>
<body>
<h1>탐색 선택자</h1>
<ul id="menu">
<li>내용1</li>
<li>내용2</li>
<li>내용3</li>
<li>내용4</li>
</ul>
</body>
eq(index)/lt(index)/gt(index) 탐색 선택자
eq(index)탐색 선택자는 선택한 요소 중 지정한 인덱스가 참조하는 요소만 선택하고 lt(index) 선택자는 선택한
요소 중 지정한 인덱스보다 작은(lt, Less Than) 인덱스를 참조하는 요소만 선택한다.
이와 반대로 gt(index)는 선택한 요소 중 지정한 인덱스보다 큰(gt, Greater Than)인덱스를 참조하는 요소만 선택한다.
다음은 eq, lt, gt선택자의 기본형이다.
1. $("요소 선택:eq(index)") 또는 $("요소 선택").eq(index)
2. $("요소 선택:lt(index)")
3. $("요소 선택:gt(index)")
다음은 eq(), lt(), gt()의 선택자를 적용한 예제이다.
<script>
$(function(){
$("#menu li").eq(2) //index 2
.css({"background-color":"#ff0"});
$("#menu li:lt(2)") //index 0, 1
.css({"background-color":"#0ff"});
$("#menu li:gt(2)") //index 3, 4
.css({"background-color":"#f0f"});
});
</script>
</head>
<body>
<h1>탐색 선택자</h1>
<ul id="menu">
<li>내용1</li>
<li>내용2</li>
<li>내용3</li>
<li>내용4</li>
<li>내용5</li>
</ul>
</body>
first-of-type/last-of-type 선택자
first-of-type 선택자는 선택한 요소의 무리 중 첫번째 요소만 선택한다.
이와 반대로 last-of-type은 선택한 요소의 무리 중 마지막에 위치한 요소만 선택한다.
1. $("요소 선택:first-of-type")
2. $("요소 선택:last-of-type")
<script>
$(function(){
$("li:first-of-type") //<li> 1-1, 2-1
.css({"background-color":"#ff0"});
$("li:last-of-type") //<li> 1-3, 2-3
.css({"background-color":"#0ff"});
});
</script>
</head>
<body>
<h1>탐색 선택자</h1>
<ul>
<li>내용1-1</li>
<li>내용1-2</li>
<li>내용1-3</li>
</ul>
<ul>
<li>내용2-1</li>
<li>내용2-2</li>
<li>내용2-3</li>
</ul>
</body>
nth-child(숫자n)/nth-last-of-type(숫자)선택자
nth-child(숫자n)선택자는 선택한 요소의 무리 중 지정한 숫자(배수)의 요소를 선택한다.
예를들어 li:nth-child(2)는 선택한 요소의 무리 중 두번째의 <li>태그를 가리키고, li:nth-child(2n)은
선택한 요소의 무리 중 2의 배수의 <li>태그를 가리킨다.
이에 비해 nth-last-of-type(숫자) 선택자는 선택한 요소의 무리 중 마지막에서 지정한 숫자의 요소를 선택한다.
1. $("요소 선택:nth-child(숫자)")
2. $("요소 선택:nth-child(숫자n)")
3. $("요소 선택:nth-last-child(숫자)")
1. 선택한 요소 중 지정한 숫자에 위치한 요소를 선택한다.
2. 선택한 요소 중 지정한 배수에 위치한 요소를 선택한다.
3. 선택한 요소 중 마지막 위치에서 지정한 숫자에 위치한 요소를 선택한다.
다음은 nth-child와 nth-last-child를 적용한 예제이다.
<script>
$(function(){
$("#menu 1 li:nth-child(1)") //<li> 1-1
.css({"background-color":"#ff0"});
$("#menu 1 li:nth-child(2n)") //<li> 1-2, 1-3, 1-4
.css({"background-color":"#f00"});
$("#menu 2 li:nth-last-child(2)") //<li> 2-2
.css({"background-color":"#0ff"});
});
</script>
</head>
<body>
<h1>탐색 선택자</h1>
<ul id="menu 1">
<li>내용1-1</li>
<li>내용1-2</li>
<li>내용1-3</li>
</ul>
<ul id="menu 2">
<li>내용2-1</li>
<li>내용2-2</li>
<li>내용2-3</li>
</ul>
</body>
only-child/slice(index)선택자
only-child 선택자는 선택한 요소가 '부모 요소에게 하나뿐인 자식요소'인 경우에 선택한다.
slice(start index, end index) 선택자는 선택한 요소의 지정 구간 인덱스의 요소를 선택한다.
1. $("요소 선택:only-child")
2. $("요소 선택").slice(start index, end index)
1. 선택한 요소가 부모 요소에게 하나뿐인 자식 요소면 선택한다.
2. 지정 구간 인덱스의 요소를 선택한다. 예를들어 slice(1,3)은 1초과 3이하의 요소를 선택한다.
다음은 only-child 선택자와 slice 선택자를 적용한 예제이다.
<script>
$(function(){
$("#menu 1 li").slice(1, 3)
.css({"background-color":"#ff0"});
$("li:only-child")
//<ul id="menu2">
// <li>내용 2-1</li>
//</ul>
.css({"background-color":"#0ff"});
});
</script>
</head>
<body>
<h1>탐색 선택자</h1>
<ul id="menu 1">
<li>내용1-1</li>
<li>내용1-2</li>
<li>내용1-3</li>
<li>내용1-4</li>
</ul>
<ul id="menu 2">
<li>내용2-1</li>
</ul>
</body>
(참고 : do it 자바스크립트+제이쿼리 입문)
'Front > JQuery' 카테고리의 다른 글
JQuery(이벤트 등록 메소드) (0) | 2020.05.22 |
---|---|
JQuery(객체조작) (0) | 2020.05.20 |
JQuery(속성 탐색 선택자) (0) | 2020.05.20 |
jquery(선택자) (0) | 2020.05.20 |
jquery(연동) (0) | 2020.05.20 |