跟着JQuery API学Jquery 之三 筛选


Posted in Javascript onApril 09, 2010

1.过滤
eq(index) 看这个函数和基础里的:eq貌似是一样的(其实就是一样的)
比如我们对<div>1</div><div>1</div>做选择,那我们可以用$(“div”).eq(1)或$(“div:eq(1)”)
来选中第二个div效果是一样的

hasClass(class) 用来判断当前元素是否含有一个类 这个和is(“.”+class)是一样的,我们来看一下is()这个函数用来干吗的 ,它是用一个表达式来检查当前选择的元素的集合,如果其中至少有一个元素符合给定表达式就返回true。is(expr)里面的参数就是选择器的参数。

filter(expr) 用来选出带有匹配表达式的元素的集合,这个和is有点类似,只不过is是返回的bool型,用于判断,filter用来缩小范围,filter中的参数可以是一个函数,函数的返回值为bool型,当返回的是真的时候就保留节点。其实就是对对象做一个循环,然后删除不要的。比如有<p class="aa">asdf</p><p>2343</p>我们选择class为aa的那个 把他的文本改成一段文字
$("p").filter(function() { return $(this).hasClass("aa") }).text("选择的东西")

not(txpr) 用来删除匹配的元素,这个又和前面有一个:not()一样
slice(start,[end]) 选择一个段 从start开始到end 结束 如果没有end则到结尾
$("p").slice(0, 1),我总觉得这个函数的第二个变量该成num 要好一点 ,从哪一个开始,选择前num个。

2 查找
add(expr) 把与表达式匹配的添加到原来的对象中,这个有点像多选择器比如$(“#id,.cs”)
也可以写成$(“#id”).add(“.cs”)效果一样
Children([expr])得到所有子元素的集合
Contents() 查找匹配元素内部所有的子节点。如果是iframe则查找文档的内容。这个可以很方便的用来变更iframe里面的内容,比如文本编辑器。。
find(expr) 搜索与指定表达式匹配的内容,这个也可以用选择器来实现 比如 $(“ul li”)可以写成 $(“ul”).find(“li”)
next(expr) 搜索同辈元素中紧跟在后面的元素,这个有是 a+b的选择器形式 比如我们要选择div后面跟p标签的$(“div+p”)当然也可以用$(“div”).next(“p”)
nextAll() 搜索后面所有的同辈元素 这个和 a~b是一样的$(“div~p”)和$(“div”).nextAll(“p”)是一样的
Prev([expr]) 取得紧邻的同辈元素的前一个这个和next()刚好相反
PrevAll([expr])取得前面所有的元素这个和nextAll() 刚好相反
Siblings([expr]) 这个函数应该就是nextAll()和prevAll()的和了

offsetParent() 返回第一个元素的父节点,为什么是第一个元素呢,这个用JavaScript来实现是Parent(),但是我们这个用的是jquery,操作的是jquery对象,在很多的教程上都在强调我们要分清JQuery对象和JS对象,其实Jquery对象就是一个array数组,就是要我们注意操作时要把数组的值取出来了在用想用第一个就在后面价格索引[0]来得到第一个对象。
Parent(expr)取得所有元素的都包含的父元素,我们已经知道jquery对象是一个数组,那么里面可能包含多个节点,那么我们就要找出这多个节点共同的父节点,也就是找出一个能够包含他们所有的一个节点,就像有两个人一个是湖北一个是河南,你要找他的上一级,就是他们都是中国的。当然你也可以在里面填一个参数parent(湖北)那么最后我们得到了的节点是湖北。

3 串联
串联里面只有两个函数 andSelf() 和end()
andSelf() 加入先前所选的加入到当前的元素中,这个解释读起来有点绕口。这里就要提一下Jquery的链式操作。比如你选择了 中国-湖北 得到了湖北这个节点 然后你又用 andSelf()把中国在加进入,这个对你想操作你没有筛选前的元素会很有用。
end() 回到最近一个有“破坏性”的操作之前,那什么是破坏性呢,就是对一个集合做了在次的操作
比如前面我们说的next(),到这里我们就知道为什么我们能用$(“div+p”)完成的操作要写成$(“div”).next(“p”)了。

Javascript 相关文章推荐
javascript中match函数的用法小结
Feb 08 Javascript
jQuery常用数据处理方法小结
Feb 20 Javascript
JavaScript中诡异的delete操作符
Mar 12 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
Jul 18 Javascript
js 数组详细操作方法及解析合集
Jun 01 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
微信小程序封装自定义弹窗的实现代码
May 08 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 Javascript
Antd的table组件表格的序号自增操作
Oct 27 Javascript
跟着JQuery API学Jquery 之二 属性
Apr 09 #Javascript
JSON 教程 json入门学习笔记
Sep 22 #Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 #Javascript
javaScript call 函数的用法说明
Apr 09 #Javascript
javascript 自动填写表单的实现方法
Apr 09 #Javascript
Extjs入门之动态加载树代码
Apr 09 #Javascript
JS 非图片动态loading效果实现代码
Apr 09 #Javascript
You might like
PHP的引用详解
2015/02/22 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
JS 自动安装exe程序
2008/11/30 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL