• JQuery包装集size,length,index,slice,find,filter,is,children,next,nextAll,parent,parents,closest,siblings,add,end,andSelf的用法


    在使用Jquery包装集的知识之前首先要注意三个概念(当前包装集、新包装集、包装集内部元素)的区别。

     1 <!DOCTYPE html>
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     5     <title>包装集size(),length,index</title>
     6     <script src="js/jquery-1.8.2.js"></script>
     7     <script type="text/javascript">
     8         $(function () {
     9             //window.alert($("tr").size());//获取tr的个数
    10             //window.alert($("tr").length);//获取tr的个数
    11 
    12             //当执行了get之后得到的结果是一个js的元素
    13             //var dom = $("tr").get(1);
    14             //$(dom).css("color", "blue");
    15 
    16             //判断id为abc的tr在包装集的位置
    17             //window.alert($("tr").index($("tr#abc")));
    18 
    19             //得到tbody下面第三个tr
    20             //$("tbody tr:eq(2)").css("color", "blue");
    21         });
    22     </script>
    23 </head>
    24 <body>
    25     <table width="700" border="1" align="center">
    26         <thead>
    27             <tr>
    28                 <td>用户标识</td>
    29                 <td>用户姓名</td>
    30                 <td>用户年龄</td>
    31                 <td>用户密码</td>
    32             </tr>
    33         </thead>
    34         <tbody>
    35             <tr id="abc">
    36                 <td>1</td>
    37                 <td>张三</td>
    38                 <td>23</td>
    39                 <td>abc123</td>
    40             </tr>
    41             <tr>
    42                 <td>2</td>
    43                 <td>李四</td>
    44                 <td>33</td>
    45                 <td>abc123</td>
    46             </tr>
    47             <tr>
    48                 <td>3</td>
    49                 <td>王五</td>
    50                 <td>13</td>
    51                 <td>abc123</td>
    52             </tr>
    53             <tr>
    54                 <td>4</td>
    55                 <td>赵六</td>
    56                 <td>45</td>
    57                 <td>abc123</td>
    58             </tr>
    59             <tr>
    60                 <td>5</td>
    61                 <td>朱七</td>
    62                 <td>21</td>
    63                 <td>abc123</td>
    64             </tr>
    65         </tbody>
    66     </table>
    67 </body>
    68 </html>
    jquery_wrap01_size_length_index
     1 <!DOCTYPE html>
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     5     <title>多个包装集在一起的操作(注意哪些是返回的是源包装集,哪些是返回的是新包装集。)</title>
     6     <script src="js/jquery-1.8.2.js"></script>
     7     <script type="text/javascript">
     8         $(function () {
     9             //在表达式中通过“,”可以分割多个包装集
    10             //$("tbody tr:eq(2),tr#abc").css("color", "blue");
    11 
    12             //可以为包装集使用add方法,可以将新加入的表达式添加到源包装集中
    13             //$("tbody tr:eq(2)").add("thead tr td:eq(2)").add("tr td:contains('3')").css("color", "blue");
    14 
    15             //not方法可以在源包装集中取消掉指定的表达式
    16             //$("tr").not("tr#abc").css("color","blue");
    17 
    18             //获取tr中位置小于3的元素,filter表示在当前tr的包装集中进行过滤
    19             //$("tr").filter("tr:lt(3)").css("color", "blue");
    20 
    21             //下面这个不行,因为find是在当前包装集内部进行查找
    22             //$("tr").find("tr:lt(3)").css("color", "blue");
    23 
    24             //注意:以上都是返回获取的源包装集上的操作,以下返回的都是获取的新包装集上的操作
    25 
    26             //slice返回的是一个新的包装集,获取tr中的1到3形成一个新的包装集,返回的值就是新的包装集
    27             //$("tr").slice(1, 3).css("color", "red");
    28 
    29             //获取tr中的1到3形成一个新的包装集设置颜色,原来的设置另外一个颜色
    30             //$("tr").css("color", "blue").slice(1, 3).css("color", "red");
    31 
    32             //从包装集的内部获取相应的元素,返回的值也是新包装集
    33             //$("table").find("tr#abc").css("color","blue");
    34 
    35         });
    36     </script>
    37 </head>
    38 <body>
    39     <table width="700" border="1" align="center">
    40         <thead>
    41             <tr>
    42                 <td>用户标识</td>
    43                 <td>用户姓名</td>
    44                 <td>用户年龄</td>
    45                 <td>用户密码</td>
    46             </tr>
    47         </thead>
    48         <tbody>
    49             <tr id="abc">
    50                 <td>1</td>
    51                 <td>张三</td>
    52                 <td>23</td>
    53                 <td>abc123</td>
    54             </tr>
    55             <tr>
    56                 <td>2</td>
    57                 <td>李四</td>
    58                 <td>33</td>
    59                 <td>abc123</td>
    60             </tr>
    61             <tr>
    62                 <td>3</td>
    63                 <td>王五</td>
    64                 <td>13</td>
    65                 <td>abc123</td>
    66             </tr>
    67             <tr>
    68                 <td>4</td>
    69                 <td>赵六</td>
    70                 <td>45</td>
    71                 <td>abc123</td>
    72             </tr>
    73             <tr>
    74                 <td>5</td>
    75                 <td>朱七</td>
    76                 <td>21</td>
    77                 <td>abc123</td>
    78             </tr>
    79         </tbody>
    80     </table>
    81 </body>
    82 </html>
    jquery_wrap02_mutil_sourcewrap_newwrap
      1 <!DOCTYPE html>
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      5     <title>包装集slice,find,is,children,next,nextAll,parent,parents,closest,siblings</title>
      6     <script src="js/jquery-1.8.2.js"></script>
      7     <script type="text/javascript">
      8         $(function () {
      9             //slice返回的是一个新的包装集,获取tr中的1到3形成一个新的包装集,返回的值就是新的包装集
     10             //$("tr").slice(1, 3).css("color", "red");
     11 
     12             //获取tr中的1到3形成一个新的包装集设置颜色,原来的设置另外一个颜色
     13             //$("tr").css("color", "blue").slice(1, 3).css("color", "red");
     14 
     15             //从包装集的内部获取相应的元素,返回的值也是新包装集
     16             //$("table").find("tr#abc").css("color","blue");
     17 
     18             //is表示的是当前的包装集中是否有某个元素,$(table)的包装集中只有一个元素table,所以没有td
     19             //window.alert($("table").is("td:contains('用户')"));
     20             //window.alert($("td").is("td:contains('用户')"));
     21 
     22             //获取tbody中的所有tr元素,返回的也是新包装集
     23             //$("tbody").children("tr").css("color","blue");
     24 
     25             //获取tbody中的等于3的tr子元素,返回的也是新包装集
     26             //$("tbody").children("tr:eq(3)").css("color", "blue");
     27 
     28             //找到下一个子元素,只是一个元素,返回新包装集
     29             //$("tr#abc").next().css("color","blue");
     30 
     31             //找到下一个组兄弟元素,所有元素,返回新包装集
     32             //$("tr#abc").nextAll().css("color", "blue");
     33 
     34             //parent仅仅只是返回上一级的div,返回新包装集
     35             //$("#s1").parent("div").css("color","blue");
     36 
     37             //返回所有满足条件的父类节点,返回新包装集
     38             //$("#s1").parents("div").css("color", "blue");
     39 
     40             //closest是从自己开始往上找,返回找到的第一个满足条件的节点,返回新包装集
     41             //$("#s1").closest("div").css("color", "blue");
     42 
     43             //返回第3个tr的所有兄弟节点,但不包含自己(第3个tr),返回新包装集
     44             //$("tr:eq(2)").siblings("tr").css("color", "blue");
     45 
     46             //返回第3个tr的所有兄弟节点,但不包含自己(第3个tr),判断兄弟节点中有没有tr id=abc元素,返回新包装集
     47             //window.alert($("tr:eq(2)").siblings("tr").is("tr#abc"));
     48         });
     49     </script>
     50 </head>
     51 <body>
     52     <div>
     53         abc
     54         <div id="d1">
     55             def
     56             <div>
     57                 123
     58                 <span id="s1">456</span>
     59             </div>
     60         </div>
     61     </div>
     62     <table width="700" border="1" align="center">
     63         <thead>
     64             <tr>
     65                 <td>用户标识</td>
     66                 <td>用户姓名</td>
     67                 <td>用户年龄</td>
     68                 <td>用户密码</td>
     69             </tr>
     70         </thead>
     71         <tbody>
     72             <tr id="abc">
     73                 <td>1</td>
     74                 <td>张三</td>
     75                 <td>23</td>
     76                 <td>abc123</td>
     77             </tr>
     78             <tr>
     79                 <td>2</td>
     80                 <td>李四</td>
     81                 <td>33</td>
     82                 <td>abc123</td>
     83             </tr>
     84             <tr>
     85                 <td>3</td>
     86                 <td>王五</td>
     87                 <td>13</td>
     88                 <td>abc123</td>
     89             </tr>
     90             <tr>
     91                 <td>4</td>
     92                 <td>赵六</td>
     93                 <td>45</td>
     94                 <td>abc123</td>
     95             </tr>
     96             <tr>
     97                 <td>5</td>
     98                 <td>朱七</td>
     99                 <td>21</td>
    100                 <td>abc123</td>
    101             </tr>
    102         </tbody>
    103     </table>
    104 </body>
    105 </html>
    jquery_wrap03_slice_find_is_children_next_nextAll_parent_parents_closest_siblings
     1 <!DOCTYPE html>
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5     <title>包装集-链式编程-add,end,andSelf,find,filter</title>
     6     <script src="js/jquery-1.8.2.js"></script>
     7     <script type="text/javascript">
     8         $(function () {
     9 
    10             //将第三个tr之外的所有tr的color设置为blue,backgroundcolor设置为green
    11             //$("tr:eq(2)").siblings("tr").css("color", "blue").css("background-color", "green");
    12 
    13             //将第三个tr之外的所有tr的color设置为blue,backgroundcolor设置为green,在将第三个tr设置为backgroundcolor设置为red。使用end()方法返回上一个包装集
    14             //$("tr:eq(2)").siblings("tr").css("color", "blue").css("background-color", "green").end().css("background-color","red");
    15 
    16             //复制user2的table中的tbody内容,添加到user1中
    17             //$("#user2 tbody").clone().appendTo("#user1");
    18 
    19             //复制user2的table中的tbody内容,添加到user1中,同时给user1设置color=blue
    20             //$("#user2 tbody").clone().appendTo("#user1").css("color", "blue");
    21 
    22             //复制user2的table中的tbody内容,添加到user1中,同时又添加了偶数行的tr后,在设置color=blue
    23             //$("#user2 tbody").clone().appendTo("#user1").add("tr:even").css("color", "blue");
    24 
    25             //filter实在当前的包装集(user1)中进行过滤,它是找不到tr:even
    26             //$("#user2 tbody").clone().appendTo("#user1").filter("tr:even").css("color", "blue");
    27 
    28             //find实在当前的包装集(user1)的内部进行查找,所以它是能找到tr:even
    29             //$("#user2 tbody").clone().appendTo("#user1").find("tr:even").css("color", "blue");
    30 
    31             //给user1的偶数行tr设置color=blue之后,再给原包装集user2设置color=blue,需要使用end()得到上一个包装集。使用两次end().end()就能找到user2的包装集了。
    32             //$("#user2 tbody").clone().appendTo("#user1").find("tr:even").css("color", "blue").end().end().css("color", "blue");
    33 
    34             //上面这个例子如果只使用了一次end(),那么它会找到clone()之后的包装集
    35             //$("#user2 tbody").clone().appendTo("#user1").find("tr:even").css("color", "blue").end().css("color", "blue");
    36 
    37             //andSelf()把当前所有的包装集合并在一起,设置color=blue
    38             //$("#user2 tbody").clone().appendTo("#user1").andSelf().find("tr:even").css("color", "blue");
    39         });
    40     </script>
    41 </head>
    42 <body>
    43     <table id="user1" width="700" border="1" align="center"></table>
    44     <table width="700" border="1" align="center" id="user2">
    45         <thead>
    46             <tr>
    47                 <td>用户标识</td>
    48                 <td>用户姓名</td>
    49                 <td>用户年龄</td>
    50                 <td>用户密码</td>
    51             </tr>
    52         </thead>
    53         <tbody>
    54             <tr id="abc">
    55                 <td>1</td>
    56                 <td>张三</td>
    57                 <td>23</td>
    58                 <td>abc123</td>
    59             </tr>
    60             <tr>
    61                 <td>2</td>
    62                 <td>李四</td>
    63                 <td>33</td>
    64                 <td>abc123</td>
    65             </tr>
    66             <tr>
    67                 <td>3</td>
    68                 <td>王五</td>
    69                 <td>13</td>
    70                 <td>abc123</td>
    71             </tr>
    72             <tr>
    73                 <td>4</td>
    74                 <td>赵六</td>
    75                 <td>45</td>
    76                 <td>abc123</td>
    77             </tr>
    78             <tr>
    79                 <td>5</td>
    80                 <td>朱七</td>
    81                 <td>21</td>
    82                 <td>abc123</td>
    83             </tr>
    84         </tbody>
    85     </table>
    86 </body>
    87 </html>
    jquery_wrap04_add_end_andSelf_find_filter
      1 <!DOCTYPE html>
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      5     <title>包装集-链式编程-find,filter,仅在当前包装集过滤,和在包装集内部的元素上进行查找的区别</title>
      6     <script src="js/jquery-1.8.2.js"></script>
      7     <script type="text/javascript">
      8         $(function () {
      9             //查询出了两个table包装集,一个为user1的table一个为user2的table,此时可以过滤得到users这个table
     10             //$("table").filter("table#user1").css("color", "blue");
     11 
     12             //如果想过滤tr的话,那是不行的,因为filter只能对当前包装集操作,而不能对当前包装集内部的元素进行操作。
     13             //$("table").filter("tr").css("color", "blue");
     14 
     15             //解决方法1是增加tr这个包装集到源包装集中
     16             //$("table").add("tr").filter("tr").css("color", "blue");
     17 
     18             //解决方法2是使用find方法在包装集内部的元素中进行查找
     19             $("table").find("tr").css("color", "blue");
     20         });
     21     </script>
     22 </head>
     23 <body>
     24     <table id="user1" width="700" border="1" align="center">
     25         <thead>
     26             <tr>
     27                 <td>用户标识</td>
     28                 <td>用户姓名</td>
     29                 <td>用户年龄</td>
     30                 <td>用户密码</td>
     31             </tr>
     32         </thead>
     33         <tbody>
     34             <tr id="abc">
     35                 <td>1</td>
     36                 <td>张三</td>
     37                 <td>23</td>
     38                 <td>abc123</td>
     39             </tr>
     40             <tr>
     41                 <td>2</td>
     42                 <td>李四</td>
     43                 <td>33</td>
     44                 <td>abc123</td>
     45             </tr>
     46             <tr>
     47                 <td>3</td>
     48                 <td>王五</td>
     49                 <td>13</td>
     50                 <td>abc123</td>
     51             </tr>
     52             <tr>
     53                 <td>4</td>
     54                 <td>赵六</td>
     55                 <td>45</td>
     56                 <td>abc123</td>
     57             </tr>
     58             <tr>
     59                 <td>5</td>
     60                 <td>朱七</td>
     61                 <td>21</td>
     62                 <td>abc123</td>
     63             </tr>
     64         </tbody>
     65     </table>
     66     <table width="700" border="1" align="center" id="user2">
     67         <thead>
     68             <tr>
     69                 <td>用户标识</td>
     70                 <td>用户姓名</td>
     71                 <td>用户年龄</td>
     72                 <td>用户密码</td>
     73             </tr>
     74         </thead>
     75         <tbody>
     76             <tr id="abc">
     77                 <td>1</td>
     78                 <td>张三</td>
     79                 <td>23</td>
     80                 <td>abc123</td>
     81             </tr>
     82             <tr>
     83                 <td>2</td>
     84                 <td>李四</td>
     85                 <td>33</td>
     86                 <td>abc123</td>
     87             </tr>
     88             <tr>
     89                 <td>3</td>
     90                 <td>王五</td>
     91                 <td>13</td>
     92                 <td>abc123</td>
     93             </tr>
     94             <tr>
     95                 <td>4</td>
     96                 <td>赵六</td>
     97                 <td>45</td>
     98                 <td>abc123</td>
     99             </tr>
    100             <tr>
    101                 <td>5</td>
    102                 <td>朱七</td>
    103                 <td>21</td>
    104                 <td>abc123</td>
    105             </tr>
    106         </tbody>
    107     </table>
    108 </body>
    109 </html>
    jquery_wrap05_filter_wrap_find_wrapinnerelement
  • 相关阅读:
    BZOJ-1497 最大获利
    POJ-3680 Intervals & NOI 2008 志愿者招募 费用流
    CodeForces 663E Binary Table
    南昌区域赛-G Eating Plan
    HDU-5909 Tree Cutting
    BZOJ-4589 Hard Nim
    UVA-12633 Super Rooks on Chessboard
    SPOJ-TSUM Triple Sums
    HDU-4609 3-idiots
    Kattis-aplusb A+B problem
  • 原文地址:https://www.cnblogs.com/qiyebao/p/4175535.html
Copyright © 2020-2023  润新知