画一下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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
715887926299)][外链图片转存中…(img-BBoVVNos-1715887926300)]
[外链图片转存中…(img-WSInMUGA-1715887926300)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!