[JQuery] 제이쿼리, children() 함수 예제 및 사용법.

children(selector) 함수


- 선택자에 의해 매치된(matched) element(요소,태그)의 child객체를 반환한다.


- 반환된 child객체는 JQuery 객체이다. 그러므로 반환된 객체의 children()을 사용하면 원래 객체의 자손의 자손들을 반환한다.


children () 함수는 find() 함수와 다릅니다. children() 함수는 DOM 트리 아래로 단일 레벨을 이동하는 반면 find() 함수는 여러 레벨을 탐색하여 하위 요소 (손자 등)를 선택할 수 있습니다.


대부분의 jQuery 메서드와 마찬가지로 children() 함수는 텍스트 노드를 반환하지 않습니다.


- 텍스트 및 주석 노드를 포함한 모든 하위 항목을 가져 오려면 contents()함수를 사용해야 합니다.


- children() 함수는 인자로 selector 형식이 올수도 있는데, 만족하는 태그가 있다면 해당 태그를 반환합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<ul class="level-1">
  <li class="item-i">I</li>
  <li class="item-ii">II
    <ul class="level-2">
      <li class="item-a">A</li>
      <li class="item-b">B
        <ul class="level-3">
          <li class="item-1">1</li>
          <li class="item-2">2</li>
          <li class="item-3">3</li>
        </ul>
      </li>
      <li class="item-c">C</li>
    </ul>
  </li>
  <li class="item-iii">III</li>
</ul>
cs


위의 ul구조가 있을 때, level-2에서 시작해서 자식태그의 배경색을 모두 빨강색으로 처리하고 싶다면...?


1
$( "ul.level-2" ).children().css( "background-color""red" );
cs

 

level-2 클래스를 가진 ul태그의 자식태그들만(바로 아래 자식) 배경색이 빨간색이된다.(A,B,C 빨간색 된다.) children() 함수안에 selector를 쓰지 않았기 때문에 모든 직계자식태그들의 배경색이 빨개진다.


1
$( "ul.level-2" ).children('.item-a').css( "background-color""red" );
cs


children() 함수안에 .item-a 클래스를 나타내는 선택자를 쓰게 되면 A 만 빨간 배경색이 된다.


제이쿼리 API 페이지에 있는 예제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>children demo</title>
  <style>
  body {
    font-size: 16px;
    font-weight: bolder;
  }
  p {
    margin: 5px 0;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div>
  <span>Hello</span>
  <p class="selected">Hello Again</p>
  <div class="selected">And Again</div>
  <p>And One Last Time</p>
</div>
 
<script>
$( "div" ).children( ".selected" ).css( "color""blue" );
</script>
 
</body>
</html>
cs


다음과 같은 html 구조가 있을 때, <script>태그내의 코드를 보면

div 태그의 자식태그중 .selected 클래스를 가진 태그의 글자색을 blue로 정의하였다. 한번 결과를 보면


결과:


Hello

Hello Again

And Again

And One Last Time


selected 클래스를 가진 태그들만 글자색이 blue로 바뀌었다.

댓글

Designed by JB FACTORY