1. 부모 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function () {
// ********** 부모 요소 선택자 **********
// 선택한 요소를 감싸고 있는 부모 요소를 선택함
$("#list_1").parent()
.css("border", "2px dashed #f00");
}
);
</script>
</head>
<body>
<h1>인접 관계 선택자</h1>
<ul id="wrap">
<li>리스트 1
<ul>
<!-- #list_1을 가진 태그의 상위 태그인 <ul> 태그가 선택됨 -->
<li id="list_1">리스트 1-1</li>
<li>리스트 1-2</li>
</ul>
</li>
<li>리스트 2</li>
<li>리스트 3</li>
</ul>
</body>
</html>
2. 하위 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function () {
// ********** 하위 요소 선택자 **********
// 기준 요소로 선택한 하위 요소만 선택
$("#wrap h1")
.css({ "background-color": "yellow", "border": "2px dashed #f00" });
}
);
</script>
</head>
<body>
<div id="wrap">
<!-- #wrap이 포함하는 모든 <h1> 요소를 선택함 -->
<h1>인접 관계 선택자</h1>
<p>내용 1</p>
<section>
<h1>하위 요소 선택자</h1>
<p>내용 2</p>
</section>
</div>
</body>
</html>
3. 자식 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function() {
// ********** 자식 요소 선택자 **********
// 선택된 요소를 기준으로 지정한 자식 요소만 선택
// <div id="wrap">
// <h1>인접 관계 선택자</h1> ('바로 아래'의 자식 요소가 선택됨)
$("#wrap > h1")
.css("border", "2px dashed #f00");
// <section>
// <h1>자식 요소 선택자</h1> (section의 자식 요소가 '모두' 선택됨)
// <p>내용 2</p> (section의 자식 요소가 '모두' 선택됨)
// </section>
$("#wrap > section").children()
.css({
"background-color": "yellow",
"border": "2px solid #f00"
});
}
);
</script>
</head>
<body>
<div id="wrap">
<h1>인접 관계 선택자</h1>
<p>내용 1</p>
<section>
<h1>자식 요소 선택자</h1>
<p>내용 2</p>
</section>
</div>
</body>
</html>
4. 이전 요소 선택자 / 다음 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function() {
// ********** 이전, 다음 요소 선택자 **********
// 선택한 요소를 기준으로 바로 이전, 이후 형제 요소만 선택
var style_1 = {
"background-color":"#0ff",
"border":"2px solid #f00"
}
var style_2 = {
"background-color":"#ff0",
"border":"2px dashed #f00"
}
// .txt를 가진 요소의 바로 이전 요소 선택
$(".txt").prev()
.css(style_1);
// .txt를 가진 요소 기준으로 바로 다음의 p 태그 선택
$(".txt + p").css(style_2);
// .txt를 가진 요소에서 다음로 두 번째 오는 요소 선택
$(".txt").next().next()
.css(style_2);
}
);
</script>
</head>
<body>
<div id="wrap">
<h1>인접 관계 선택자</h1>
<p>내용 1</p> <!-- $(".txt")에 의해 style_1 적용 -->
<p class="txt">내용 2</p>
<p>내용 3</p> <!-- $(".txt + p")에 의해 style_2 적용 -->
<p>내용 4</p> <!-- $(".txt").next().next()에 의해 style_2 적용 -->
</div>
</body>
</html>
5. 전체 이전 요소 선택자 / 전체 다음 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function() {
// ********** 전체 이전, 전체 다음 요소 선택자 **********
// 선택한 요소를 기준으로 전체 이전, 이후 형제 요소 선택
var style_1 = {
"background-color":"#0ff",
"border":"2px solid #f00"
}
var style_2 = {
"background-color":"#ff0",
"border":"2px dashed #f00"
}
// .txt를 가진 요소의 이전 요소 모두 선택
$(".txt").prevAll()
.css(style_1);
// .txt를 가진 요소의 이후 요소 모두 선택
$(".txt").nextAll()
.css(style_2);
}
);
</script>
</head>
<body>
<div id="wrap">
<h1>인접 관계 선택자</h1> <!-- $(".txt").prevAll()에 의해 style_1 적용 -->
<p>내용 1</p> <!-- $(".txt").prevAll()에 의해 style_1 적용 -->
<p class="txt">내용 2</p>
<p>내용 3</p> <!-- $(".txt").nextAll()에 의해 style_2 적용 -->
<p>내용 4</p> <!-- $(".txt").nextAll()에 의해 style_2 적용 -->
</div>
</body>
</html>
6. 전체 형제 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function() {
// ********** 전체 형제 요소 선택자 **********
// 선택한 요소의 모든 형제 요소 선택
var style_1 = {
"background-color":"#0ff",
"border":"2px solid #f00"
}
// .txt를 가진 요소의 모든 형제 요소 선택
$(".txt").siblings()
.css(style_1);
}
);
</script>
</head>
<body>
<div id="wrap">
<h1>인접 관계 선택자</h1>
<p>내용 1</p>
<p class="txt">내용 2</p>
<p>내용 3</p>
<p>내용 4</p>
</div>
</body>
</html>
7. 범위 제한 전체 이전 요소 선택자 / 범위 제한 전체 다음 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function() {
// ********** 범위 제한 전체 이전, 전체 다음 요소 선택자 **********
// 선택한 요소를 기준으로 형제 요소 중 지정한 범위 내의 전체 이전 또는
// 전체 다음 요소를 선택함
var style_1 = {
"background-color":"#0ff",
"border":"2px solid #f00"
}
// .txt3를 가진 요소부터
// .title 이전까지의 이전 요소를 모두 선택
$(".txt3").prevUntil(".title")
.css(style_1);
// .txt3를 가진 요소부터
// .txt6 이전까지의 이후 요소를 모두 선택
$(".txt3").nextUntil(".txt6")
.css(style_1);
}
);
</script>
</head>
<body>
<div id="wrap">
<h1 class="title">선택자</h1>
<p>내용 1</p>
<p>내용 2</p>
<p class="txt3">내용 3</p>
<p>내용 4</p>
<p>내용 5</p>
<p class="txt6">내용 6</p>
</div>
</body>
</html>
8. 상위 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function() {
// ********** 상위 요소 선택자 **********
// 선택한 요소를 기준으로 모든 상위 요소를 선택하거나,
// 상위 요소 중 선택하고자 하는 요소만 선택
// .txt1을 가진 요소의 전체 상위 요소 선택
$(".txt1").parents()
.css({
"border":"2px dashed #00f"
});
// .txt2를 가진 요소의 전체 상위 요소 중 <div>만 선택
$(".txt2").parents("div")
.css({
"border":"2px solid #f00"
});
}
);
</script>
</head>
<body>
<h1 class="title">선택자</h1>
<section>
<div>
<p class="txt1">내용</p> <!-- 전체 상위 요소 선택 -->
</div>
</section>
<section>
<div>
<p class="txt2">내용</p> <!-- 상위 요소 중 <div>만 선택 -->
</div>
</section>
</body>
</html>
9. 가장 가까운 상위 요소 선택자
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>예제</title>
<script src="js/jquery.min.js"></script>
<script>
$(
function() {
// ********** 가장 가까운 상위 요소 선택자 **********
// 선택한 요소를 기준으로 가장 가까운 상위 요소만 선택
// .txt1을 가진 요소의 전체 상위 요소 선택
$(".txt1").closest("div")
.css({
"border":"2px solid #f00"
});
}
);
</script>
</head>
<body>
<h1 class="title">선택자</h1>
<div>
<div>
<p>내용 1</p>
</div>
<div>
<p class="txt1">내용 2</p>
</div>
<div>
<p>내용 3</p>
</div>
</div>
</body>
</html>
'제이쿼리' 카테고리의 다른 글
[제이쿼리] 위치 탐색 선택자 (0) | 2020.05.26 |
---|---|
[제이쿼리] 기본 선택자 (0) | 2020.05.25 |
[제이쿼리] 직접 선택자 (0) | 2020.05.25 |
[제이쿼리] Chainning (0) | 2020.05.22 |
[제이쿼리] 설치하기 (0) | 2020.05.22 |