1、children()方法

jQuery是一个合集对象,如果想快速查找合集里面的第一级子元素,此时可以用children()方法。这里需要注意:.children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈,这里可以理解为就是父亲-儿子的关系)

理解节点查找关系:

<div class="div">
    <ul class="son">
        <li class="grandson">1</li>
    </ul>
</div>

代码如果是$("div").children(),那么意味着只能找到ul,因为div与ul是父子关系,li与div是祖辈关系,因此无法找到。

children()无参数

允许我们通过在DOM树中对这些元素的直接子元素进行搜索,并且构造一个新的匹配元素的jQuery对象

注意:jQuery是一个合集对象,所以通过children是匹配合集中每一给元素的第一级子元素

.children()方法选择性地接受同一类型选择器表达式

$("div").children(".selected")

同样的也是因为jQuery是合集对象,可能需要对这个合集对象进行一定的筛选,找出目标元素,所以允许传一个选择器的表达式

具体的操作,请参考下边的代码:

 1 <!DOCTYPE html>
 2 <html>
 3 
 4 <head>
 5     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 6     <title></title>
 7     <link rel="stylesheet" href="imooc.css" type="text/css">
 8     <style>
 9     .left {
10         width: auto;
11         height: 120px;
12     }
13     
14     .left div {
15         width: 150px;
16         height: 70px;
17         padding: 5px;
18         margin: 5px;
19         float: left;
20         background: #bbffaa;
21         border: 1px solid #ccc;
22     }
23     
24     a {
25         display: block;
26     }
27     </style>
28     <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
29 </head>
30 
31 <body>
32     <h2>children方法()</h2>
33     <div class="left first-div">
34         <div class="div">
35             <ul class="level-1">
36                 <li class="item-1">1</li>
37                 <li class="item-2">2</li>
38                 <li class="item-3">3</li>
39             </ul>
40         </div>
41         <div class="div">
42             <ul class="level-2">
43                 <li class="item-1">1</li>
44                 <li class="item-2">2</li>
45                 <li class="item-3">3</li>
46             </ul>
47         </div>
48         <div class="div">
49             <ul class="level-3">
50                 <li class="item-1">1</li>
51                 <li class="item-2">2</li>
52                 <li class="item-3">3</li>
53             </ul>
54         </div>
55     </div>
56     <button id="bt1">点击:children无参数</button>
57     <button id="bt2">点击:children传递表达式</button>
58     <script type="text/javascript">
59     $("#bt1").click(function() {
60         $('.div').children().css('border', '3px solid red')
61     })
62     </script>
63 
64     <script type="text/javascript">
65     $("#bt2").click(function() {
66         //找到所有class=div的元素
67         //找到其对应的子元素ul,然后筛选出最后一个,给边宽加上颜色
68         $('.div').children(':last').css('border', '3px solid blue')
69     })
70     </script>
71 
72 </body>
73 
74 </html>
View Code

相关文章: