解说jquery的has()方法以及与find()方法以及filter()方法的区别
来源:互联网 发布:linux sys gpio 编辑:程序博客网 时间:2024/05/21 11:34
has(selector选择器或DOM元素) 将匹配元素集合根据选择器或DOM元素为条件,检索该条件在每个元素的后代中是否存在,将符合条件的的元素构成新的结果集。
下面举一个例子:
<ul> <li>list item 1</li> <li>list item 2 <ul> <li><div><span>a</span></div>list item 2-a</li> <li>list item 2-b</li> </ul> </li> <li>list item 3</li> <li>list item 4</li></ul>
$('li').has('span').css('background-color', 'red');得到的结果如下:
这个例子可以看出:在匹配li时,要检查该li的后代元素中是否包含了span,如果包含,则该元素包含在结果中。如果不包含,那么就排除。
注意:has只起判断作用。以has参数中的选择器或DOM元素做为条件,检测原结果集中的元素是否符合。去掉不符合的元素,将符合的元素构成一个新结果集。
这与find()方法不同,find()方法是获得在当前结果集中每个元素的后代。参数(选择器、jquery集合或DOM元素)做为过滤条件,满足过滤条件的则保留,保留的是后代。而has()方法中,参数只做为条件,符合条件的,它的前元素加入新的结果集,而不是后代加入新的结果集。
$('li').find('span').css('background-color', 'red');结果为:
filter()方法与has()方法中的参数,都是过滤条件。不同的是filter()方法,条件作用于自身;has()方法条件是作用于它的后代元素中。
以下面的例子为例:filter()方法中,条件作用于自身li,has()方法条件是作用于li的后代元素
<ul> <li class="a">list item 1</li> <li>list item 2 <ul> <li><div><span>a</span></div>list item 2-a</li> <li>list item 2-b</li> </ul> </li> <li>list item 3</li> <li>list item 4</li></ul>
$('li').filter('.a').css('background-color', 'red');结果为:
- 解说jquery的has()方法以及与find()方法以及filter()方法的区别
- 基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
- [jq]jquery的has,find和filter方法的区别
- Jquery中的has、find、filter方法区别
- jquery方法find和filter的区别
- jQuery中find()方法和filter()方法的区别
- 基于jquery的 has() 、 find() 与 filter() 的区别
- jQuery中find()方法、children方法、filter()方法的区别分析
- jQuery的child方法、find方法,区别?
- jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
- jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
- 过滤器Filter、Filter的生命周期,以及常用方法
- jquery对象和dom对象的区别以及转换方法
- 一个jquery的面试题(find()和filter方法有何区别)
- jQuery源码分析之实例find和filter方法的区别七问
- jQuery中filter()和find()和has()的用法区别
- NSSet的方法,以及与NSArray、NSDicition之间的区别。
- jQuery初学:find()方法及children方法的区别分析
- Mysql 慢查询和慢查询日志分析
- 分享zencart 常用的几款插件
- PHP调用时间格式的参数详解
- 利用素数表快速寻找 n 以内的所有素数
- 爱一个不爱你的人,就像在机场等一艘船
- 解说jquery的has()方法以及与find()方法以及filter()方法的区别
- spring整合struts,hibernate annotation(pool数据池,sqlserver2005数据库)
- Vim+cscope+ctags+tags阅读源代码
- upcasting 的理解
- 绝对路径和相对路径
- 递归求阶乘
- getopt_long
- C# DataGridView显示行号的两种方法
- 49个jQuery代码经典片段