$(‘li:last’).css(‘background’,‘orange’);//筛选最后一个li
$(‘li:odd’).css(‘background’,‘orange’);//筛选奇数索引的li,索引从0开始,1,3
$(‘li:even’).css(‘background’,‘orange’);//筛选偶数索引的li,0,2,4
也可以提到外面作为方法来写:
$(‘li’).first().css(‘background’,‘orange’);//筛选第一个
$(‘li’).last().css(‘background’,‘orange’);//筛选最后一个
$(‘li’).odd().css(‘background’,‘orange’);//奇数索引
$(‘li’).even().css(‘background’,‘orange’);//偶数索引
$(‘li’).eq(2).css(‘background’,‘orange’);//指定第n个
效果同上
1.2 prev / prevAll / next / nextAll / siblings
prev找前一个兄弟元素,prevAll找前面所有兄弟元素;
next找下一个兄弟元素,nextAll找后面所有兄弟元素;
siblings找所有兄弟元素
1.2.1 prev
$(‘li:eq(2)’).prev().css(‘background’,‘orange’);//找索引2的前一个元素,即索引1对应的li
$(‘li:eq(2)’).prev(‘p’).css(‘background’,‘orange’);//找索引2的前一个p标签,没有匹配的就不执行,返回空对象
有匹配的p标签:
没有匹配的p标签:
console.log( $(‘li:eq(2)’).prev(‘p’) )
输出:没有标签的背景颜色被改变
1.2.2 prevAll
找前面的所有
$(‘li:eq(2)’).prevAll().css(‘background’,‘orange’);//找索引2前所有兄弟元素
$(‘li’).prevAll().css(‘background’,‘orange’);//除了最后一个,其他均匹配
1.2.3 next与nextAll
$(‘li:eq(2)’).next().css(‘background’,‘orange’);//索引2后一个兄弟元素
$(‘li’).next().css(‘background’,‘orange’);//除第一个li其他均被选中
$(‘li:eq(2)’).nextAll().css(‘background’,‘orange’);//索引2后的所有兄弟元素
$(‘li’).nextAll().css(‘background’,‘orange’);//除第一个li其他均被选中
被匹配到的元素会一个个遍历,执行后面的css操作,所以,$('li').next()
会将每一个li的next都添加背景色;$('li').nextAll()
会将每一个元素后的所有元素都设置背景色
1.2.4 siblings
匹配选定元素的所有兄弟元素
$(‘li:eq(2)’).siblings().css(‘background’,‘orange’);//索引2的所有兄弟元素,不包含索引2元素
$(‘li’).siblings().css(‘background’,‘orange’);//所有li的兄弟元素均匹配到
$('li').siblings().css()
中,先匹配到所有li,遍历每一个li,给每一个li的兄弟元素都做样式调整,在这里体现出来的就是,所有li的背景颜色都变了
1.3 filter / not / is / slice / map / has
html元素为:
- 1
- 2
- 3
- 4
- 5
1.3.1 filter()
规定一个标准,不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回
可以传选择器、函数、原生dom对象、jQuery对象
传入原生dom对象、jQuery对象:
//筛选calss名为test的元素
$(‘li’).filter(document.getElementsByClassName(‘test’)[0]).css(‘background’, ‘orange’);
( ′ l i ′ ) . f i l t e r ( ('li').filter( (′li′).filter((‘.test’)).css(‘background’, ‘orange’);
传入选择器:
//筛选class名为test的元素
$(‘li’).filter(‘.test’).css(‘background’, ‘orange’);
效果:
传入一个函数,带有两个参数:索引,对应元素:
//筛选出索引值为偶数的元素,并设置背景色为橘色
$(‘li’).filter(function(index, ele){
if (index % 2 == 0){
return true;
}
//或者将if判断语句省略,直接写成:
//return index%2==0;
}).css(‘background’, ‘orange’);
效果:
1.3.2 not()
不选择某个元素
同样可以传选择器、函数、原生dom原生、jQuery对象
//不选择class为test的元素,其余都被选择
$(‘li’).not(‘.test’).css(‘background’, ‘orange’);
1.3.3 is()
确认是否是 / 是否包含某个元素,是则返回true
//所有li中,是否有一个li的class名为test
console.log( $(‘li’).is(‘.test’) );//true
1.3.4 slice()
取连续的几个元素,区间左闭右开[start, end),默认start为0,end为最后
//取索引值为2和3的li元素
$(‘li’).slice(2,4).css(‘background’, ‘orange’);
效果:
1.3.5 each()与map()
使用的html代码:
xiaoming
16
xiaohong
21
xiaowang
25
each():遍历每个元素,为每个匹配元素规定运行的函数,只遍历
可以传入函数,函数有两个参数:索引和对应原生dom元素,使用原生dom元素注意要先转为jQuery对象,否则不能使用jQuery的方法
var arr = [];
$(‘li’).each(function(index, ele){
//此处,this和ele均指当前原生dom元素
arr.push($(ele).find(‘.name’).text());
})//每个li元素下寻找class为name的元素,取其文本,并存在数组中
console.log(arr.join(‘,’))//将数组里的文本用逗号拼接并返回
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的JavaScript面试题文档,或更多前端资料可以点此处即可获取!!!。
真正体系化!**
[外链图片转存中…(img-fVqGh9ks-1711684114925)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
[外链图片转存中…(img-xI8p7zQx-1711684114925)]
[外链图片转存中…(img-TUIQYRbV-1711684114926)]
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的JavaScript面试题文档,或更多前端资料可以点此处即可获取!!!。