前端提高篇(八十九):jQuery的DOM的遍历操作(二)(1)

画一下body侧的dom树,head侧的就没有画了

在这里插入图片描述

1.1 parent():寻找直接父元素

//寻找span的直接父元素,并打印

console.log( $(‘span’).parent() );

效果:搜索到div.demo,和第5个li

在这里插入图片描述

还可以进一步筛选,给parent传入css选择器,直接父元素还要满足这个选择器才能被选中

console.log( $(‘span’).parent(‘li’) );//寻找span的直接父元素,且直接父元素是li

效果:之前搜索到的div.demo就没有了

在这里插入图片描述

如果我指定的是不存在的,返回的就是空对象

console.log( $(‘span’).parent(‘p’) );

在这里插入图片描述

1.2 parents():寻找祖先元素

顺着dom树一路向上找,直到html为止

console.log( $(‘span’).parents() );

一共6个祖先元素

在这里插入图片描述

同样的,可以对祖先元素再做一次筛选,传入css选择器

console.log( $(‘span’).parents(‘li’) );

这次被匹配到的祖先元素就只有2个了

在这里插入图片描述

1.3 closest():从自身开始向上寻找最近的匹配元素

必须传入参数,不仅可以传入css选择器,还可以传入jQuery对象,或者dom元素

console.log( $(‘span’).closest(‘li’) );//离span最近的li标签

效果:匹配到两个

在这里插入图片描述

如果自身就符合匹配条件,返回自身

    • 1
    • 2
    • 3
    • span
    • 4
    • 5
    • span2

      效果:

      在这里插入图片描述

      1.4 offsetParent():寻找最近的有定位的父级

      不能传参,如果父级都没有设置定位,就找html

      给div.test设置定位

      .test {

      position: relative;

      }

      在这里插入图片描述

      在div.test的子元素div.item,寻找最近的设置定位的父元素

      console.log( $(‘.item’).offsetParent() );

      在这里插入图片描述

      如果我都不设置定位,找到的就是html标签:

      在这里插入图片描述

      总结:

      在这里插入图片描述

      2. children / find / end / add / addBack


      html文件用的也是最开始那个

      • 1
      • 2
      • 3
      • span

      • 4
      • 5
      • span2

        2.1 children() 查找子元素(不是所有后代,只找直接的)

        console.log( $(‘ul’).children() );//查找ul下的子元素

        效果:

        在这里插入图片描述

        可以传css选择器:

        console.log( $(‘ul’).children(‘.test’) );//查找ul子元素,且类名为test

        效果:

        在这里插入图片描述

        2.2 find() 查找后代元素

        console.log( $(‘ul’).find(‘span’) );

        在这里插入图片描述

        2.3 end() :回退,prevObject的封装

        在前面调用find(),返回的jQuery对象中,有记录了父级的信息,存储在prevObject中

        在这里插入图片描述

        所以,我们可以通过调用prevObject属性,返回上一级,做一些操作

        console.log($(‘ul’).find(‘li:eq(3)’));

        $(‘ul’).find(‘li:eq(3)’).css(‘background’, ‘red’).prevObject.find(‘li:eq(2)’).css(‘background’, ‘pink’);

        $('ul').find('li:eq(3)')找到ul下索引为3的li,调用css()将背景颜色设置成红色,返回jQuery对象$('li:eq(3)')

        '$('li:eq(3)').prevObject'回退一步,是$('ul')

        最后

        自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

        深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

        因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

        img

        既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

        如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

        由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
        715887926299)]

        [外链图片转存中…(img-BBoVVNos-1715887926300)]

        [外链图片转存中…(img-WSInMUGA-1715887926300)]

        既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

        如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

        由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

      • 26
        点赞
      • 12
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值