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')
;继续
find('li:eq(2)')
找到ul下索引为2的li,调用css()将背景颜色设置成粉色在jQuery中,end()封装了这一功能
$(‘ul’).find(‘li:eq(3)’).css(‘background’, ‘red’).end().find(‘li:eq(2)’).css(‘background’, ‘pink’);
效果一致
回退到上一级具体是哪一级,是跟find对应的,如果find查找的不是直接子元素,prevObject对应的也不是直接父元素
console.log( $(‘ul’).find(‘span’) );//span不是ul的直接子元素,prevObject回去的是ul
2.4 add() :把元素添加到已存在的元素组合中
参数可以是css选择器(selector)、原生dom、jQuery对象、html标签
如果我们想要给第一个和最后一个li加背景颜色,可能要写两行
$(‘li:first’).css(‘background’, ‘orange’);
$(‘li:last’).css(‘background’, ‘orange’);
都是给背景换橙色,分两行写不够简练,于是,用add():
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
715887994237)][外链图片转存中…(img-JfkOPIPF-1715887994238)]
[外链图片转存中…(img-FDWRIP47-1715887994238)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!