# .children()

所属分类：遍历 > 树遍历 英文文档：.children()

## .children( [selector ] )返回: jQuery

描述: 获得匹配元素集合中每个元素的子元素，选择器选择性筛选。

- #### 添加的版本: 1.0.children( [selector ] )

  - selector
    类型: Selector
    一个用于匹配元素的选择器字符串。

鉴于一个jQuery对象，表示一个DOM元素的集合，`.children()`方法允许我们通过在DOM树中对这些元素的直接子元素进行搜索，并且构造一个新的匹配元素的jQuery对象。`.find()`和`.children()`方法是相似的，但后者只是针对向下一个级别的DOM树。还要注意的是和大多数的jQuery方法一样，`.children()`不返回文本节点;让所有子元素包括使用文字和注释节点，建议使用`.contents()`。

`.children()`方法选择性地接受同一类型选择器表达式，我们可以将参数传递给`$()`函数。如果提供选择器参数，将过滤出来的元素，测试它们是否匹配。

考虑一个面页中简单的列表：

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>

如果我们在level-2列表开始，我们可以找到它的子元素：

1 |
    $('ul.level-2').children().css('background-color', 'red');

此调用的结果是项目A，B和C会有红色背景。由于我们没有提供一个选择的表达，返回所有jQuery对象的子元素。如果我们提供了选择器表达式，那么上述三个列表项中，只有与选择器表达式相匹配的列表项才会被包括在内。

## 例子:

#### Example: 查找被点击的元素的所有子元素。

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
    <!DOCTYPE html><html><head>  <style>  body { font-size:16px; font-weight:bolder; }  div { width:130px; height:82px; margin:10px; float:left;        border:1px solid blue; padding:4px; }  #container { width:auto; height:105px; margin:0; float:none;        border:none; }  .hilite { border-color:red; }  #results { display:block; color:red; }  p { margin:10px; border:1px solid transparent; }  span { color:blue; border:1px solid transparent; }  input { width:100px; }  em { border:1px solid transparent; }  a { border:1px solid transparent; }  b { border:1px solid transparent; }  button { border:1px solid transparent; }  </style>  <script src="https://code.jquery.com/jquery-latest.js"></script></head><body>  <div id="container">     <div>      <p>This <span>is the <em>way</em> we</span>      write <em>the</em> demo,</p>     </div>    <div>      <a href="#"><b>w</b>rit<b>e</b></a> the <span>demo,</span> <button>write      the</button> demo,    </div>     <div>      This <span>the way we <em>write</em> the <em>demo</em> so</span>       <input type="text" value="early" /> in    </div>    <p>      <span>t</span>he <span>m</span>orning.      <span id="results">Found <span>0</span> children in <span>TAG</span>.</span>     </p>  </div><script>     $("#container").click(function (e) {      $("*").removeClass("hilite");      var $kids = $(e.target).children();      var len = $kids.addClass("hilite").length;       $("#results span:first").text(len);      $("#results span:last").text(e.target.tagName);       e.preventDefault();      return false;    });</script> </body></html>

#### Demo:

#### Example: 查找每个 div 的所有子元素。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
    <!DOCTYPE html><html><head>  <style>  body { font-size:16px; font-weight:bolder; }  span { color:blue; }  p { margin:5px 0; }  </style>  <script src="https://code.jquery.com/jquery-latest.js"></script></head><body>  <p>Hello (this is a paragraph)</p>   <div><span>Hello Again (this span is a child of the a div)</span></div>  <p>And <span>Again</span> (in another paragraph)</p>   <div>And One Last <span>Time</span> (most text directly in a div)</div><script>$("div").children().css("border-bottom", "3px double red");</script> </body></html>

#### Demo:

#### Example: 查找含有 "selected" 样式的 div 的所有子元素。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
    <!DOCTYPE html><html><head>  <style>   body { font-size:16px; font-weight:bolder; }  p { margin:5px 0; }  </style>  <script src="https://code.jquery.com/jquery-latest.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>

#### Demo: