6-3 jQuery遍历之parent()方法
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery遍历之parent()方法

jQuery是一个合集对象,如果想快速查找合集里面的每一个元素的父元素(这里可以理解为就是父亲-儿子的关系),此时可以用parent()方法

因为是父元素,这个方法只会向上查找一级

理解节点查找关系:

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

查找ul的父元素div, $(ul).parent(),就是这样简单的表达

parent()无参数

parent()方法允许我们能够在DOM树中搜索到这些元素的父级元素,从有序的向上匹配元素,并根据匹配的元素创建一个新的 jQuery 对象

注意:jQuery是一个合集对象,所以通过parent是匹配合集中每一个元素的父元素

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

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

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

任务

请在右边代码区域的第76行填入任务代码

找到所有class=level-3的ul
找到它的父元素li,并且加上一个红色的边框

 

  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: 400px;
  12. }
  13.  
  14. .left div {
  15. width: 350px;
  16. height: 150px;
  17. padding: 5px;
  18. margin: 5px;
  19. float: left;
  20. background: #bbffaa;
  21. border: 1px solid #ccc;
  22. }
  23.  
  24. span {
  25. color: blue;
  26. }
  27. </style>
  28. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  29. </head>
  30.  
  31. <body>
  32. <h2>parent方法()</h2>
  33. <div class="left first-div">
  34.  
  35. <div class="div">
  36. <ul class="level-2">
  37. <!-- A -->
  38. <li class="item-a">A</li>
  39. <!-- B -->
  40. <li class="item-b">B
  41. <ul class="level-3">
  42. <li class="item-1">1</li>
  43. <li class="item-2">2</li>
  44. <li class="item-3">3</li>
  45. </ul>
  46. </li>
  47. <!-- C -->
  48. <li class="item-c">C</li>
  49.  
  50. </ul>
  51. </div>
  52.  
  53. <div class="div">
  54. <ul class="level-2">
  55. <!-- A -->
  56. <li class="item-a">A</li>
  57. <!-- B -->
  58. <li class="item-b">B
  59. <ul class="level-3">
  60. <li class="item-1">1</li>
  61. <li class="item-2">2</li>
  62. <li class="item-3">3</li>
  63. </ul>
  64. </li>
  65. <!-- C -->
  66. <li class="item-c">C</li>
  67.  
  68. </ul>
  69. </div>
  70. </div>
  71.  
  72. <button>点击:parent无参数</button>
  73. <button>点击:paren传递选择器</button>
  74. <script type="text/javascript">
  75. $("button:first").click(function() {
  76. //?
  77. })
  78. </script>
  79.  
  80. <script type="text/javascript">
  81. $("button:last").click(function() {
  82. //找到所有class=item-a的父元素
  83. //然后给每个ul,然后筛选出最后一个,加上蓝色的边
  84. $('.item-a').parent(':last').css('border', '1px solid blue')
  85. })
  86. </script>
  87.  
  88. </body>
  89.  
  90. </html>
  91.  
  92.  
下一节