how2j.cn


工具版本兼容问题
筛选器指的是在已经通过选择器选中了元素后,在此基础上进一步选择。


关键字 简介 示例代码
first()
last()
eq(num)
第一个 最后一个 第几个
示例代码
parent()
parents()
父 祖先
示例代码
children()
find()
儿子 后代
示例代码
siblings()
同级
示例代码
示例 1 : 第一个 最后一个 第几个   
示例 2 : 父 祖先   
示例 3 : 儿子 后代   
示例 4 : 同级   

示例 1 :

第一个 最后一个 第几个

edit
首先通过 $("div") 选择了多个div元素,接下来做进一步的筛选
first() 第1个元素
last() 最后一个元素
eq(num) 第num个元素
注: num基0
运行效果
<script src="https://how2j.cn/study/jquery.min.js"></script> <script> $(function(){ $("#b1").click(function(){ $("div").first().toggleClass("pink"); }); $("#b2").click(function(){ $("div").last().toggleClass("pink"); }); $("#b3").click(function(){ $("div").eq(4).toggleClass("pink"); }); }); </script> <button id="b1">切换第1个div背景色</button> <button id="b2">切换最后1个div背景色</button> <button id="b3">切换第5个div背景色</button> <br> <br> <style> .pink{ background-color:pink; } </style> <div> <span>Hello JQuery 1</span> </div> <div > <span>Hello JQuery 2</span> </div> <div > <span>Hello JQuery 3</span> </div> <div > <span>Hello JQuery 4</span> </div> <div > <span>Hello JQuery 5</span> </div> <div > <span>Hello JQuery 6</span> </div>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
parent() 选取最近的一个父元素
parents() 选取所有的祖先元素
运行效果
<script src="https://how2j.cn/study/jquery.min.js"></script> <script> $(function(){ $("#b1").click(function(){ $("#currentDiv").parent().toggleClass("b"); }); $("#b2").click(function(){ $("#currentDiv").parents().toggleClass("b"); }); }); </script> <style> div{ padding:20px; } div#grandParentDiv{ background-color:pink; } div#parentDiv{ background-color:green; } div#currentDiv{ background-color:red; } .b{ border: 2px solid black; } </style> <button id="b1">改变parent()的边框</button> <button id="b2">改变parents()的边框</button> <div id="grandParentDiv" > 祖先元素 <div id="parentDiv"> 父元素 <div id="currentDiv">当前元素</div> </div> </div>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
children(): 筛选出儿子元素 (紧挨着的子元素)
find(selector): 筛选出后代元素
注: find() 必须使用参数 selector
运行效果
<script src="https://how2j.cn/study/jquery.min.js"></script> <script> $(function(){ $("#b1").click(function(){ $("#currentDiv").children().toggleClass("b"); }); $("#b2").click(function(){ $("#currentDiv").find("div").toggleClass("b"); }); }); </script> <style> div{ padding:20px; } div.grandChildrenDiv{ background-color:pink; } div.childrenDiv{ background-color:green; margin:10px; } div#currentDiv{ background-color:red; } .b{ border: 2px solid black; } </style> <button id="b1">改变children()的边框</button> <button id="b2">改变find()的边框</button> <div id="currentDiv" > 当前元素 <div class="childrenDiv"> 儿子元素1 <div class="grandChildrenDiv">后代元素n</div> </div> <div class="childrenDiv"> 儿子元素2 <div class="grandChildrenDiv">后代元素n</div> </div> </div>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
siblings(): 同级(同胞)元素
运行效果
<script src="https://how2j.cn/study/jquery.min.js"></script> <script> $(function(){ $("#b1").click(function(){ $("#currentDiv").siblings().toggleClass("b"); }); }); </script> <style> div{ padding:20px; background-color:pink; margin:10px; } div#parentDiv{ background-color:green; } div#currentDiv{ background-color:red; } .b{ border: 2px solid black; } </style> <button id="b1">给同级加上边框</button> <div id="parentDiv" > 父元素 <div id="currentDiv"> 当前元素 </div> <div > 同级元素 </div> <div > 同级元素 </div> </div>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2021-09-27 第一个和最后一个筛选器与选择器中的$("div:first)和$("div:last")的区别是啥
logiczqr

111




1 个答案

__Fg__
答案时间:2022-02-12
我觉得没有问题,选择器里面的(“div:first”)和这个(“div”).first()功能是一样的,要说区别的话前者是属性,后者是方法吧



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2020-06-29 布局怎么是这样的
tangyingxiong

不太懂布局




1 个答案

ercilan
答案时间:2020-10-28
嵌套的,注意看结构就行了



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2019-09-28 find 后代属性怎么指定所有的后代!还是一定的指定某个元素的所有后代
2017-06-21 好像我之前遇到有个next,那个是同级的下一个意思吗




提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 前端部分-JQuery-筛选器 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图