jQuery遍历之parents()方法

jQuery是一个合集对象,如果想快速查找合集里面的每一个元素的所有祖辈元素,此时可以用parents()方法

其实也类似find与children的区别,parent只会查找一级,parents则会往上一直查到查找到祖先节点

理解节点查找关系:

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

在li节点上找到祖 辈元素div, 这里可以用$("li").parents()方法

parents()无参数

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

返回的元素秩序是从离他们最近的父级元素开始的

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

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

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

注意事项:

1 .parents()和.parent()方法是相似的,但后者只是进行了一个单级的DOM树查找

2 $( "html" ).parent()方法返回一个包含document的集合,而$( "html" ).parents()返回一个空集合。

<!DOCTYPE html> <html> <head>     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />     <title></title>     <style>     .left {         width: auto;         height: 350px;     }          .left div {         width: 350px;         height: 150px;         padding: 5px;         margin: 5px;         float: left;         background: #bbffaa;         border: 1px solid #ccc;     }          span {         color: blue;     }     </style>     <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body>     <h2>parents方法()</h2>     <div class="left first-div">         <div class="div">             <ul class="level-2">                 <!-- A -->                 <li class="item-a">A</li>                 <!-- B -->                 <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>                 <!-- C -->                 <li class="item-c">C</li>             </ul>         </div>         <div class="div">             <ul class="level-2">                 <!-- A -->                 <li class="item-a">A</li>                 <!-- B -->                 <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>                 <!-- C -->                 <li class="item-c">C</li>             </ul>         </div>     </div>     <button>点击:parents无参数</button>     <button>点击:parents传递选择器</button>     <script type="text/javascript">     $("button:first").click(function() {         //?         $('.item-b').parents().css('border','1px solid red')     })     </script>     <script type="text/javascript">     $("button:last").click(function() {         //找到当前元素的所有祖辈元素,筛选出class="first-div"的元素         //并且附上一个边         $('.item-1').parents('.level-2').css('border', '2px solid blue')     })     </script> </body> </html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值