jquery的has、find和filter函数的异同
来源:互联网 发布:php判断变量是否设置 编辑:程序博客网 时间:2024/04/30 15:51
本篇文章介绍了,基于jquery的has()方法以及与find()方法以及filter()方法的区别详解:
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');
结果为:
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');
结果为:
0 0
- jquery的has、find和filter函数的异同
- jQuery中filter()和find()和has()的用法区别
- [jq]jquery的has,find和filter方法的区别
- jQuery的find和filter
- 基于jquery的 has() 、 find() 与 filter() 的区别
- strstr函数和find函数的异同
- jquery的find和filter的区别
- jQuery中find和filter的区别
- jQuery中filter()和find()的区别
- jQuery中filter()和find()的区别
- jQuery find和filter的区别
- jQuery中find和filter的区别
- jquery方法find和filter的区别
- jQuery之has()/find()/filter()
- servlet和filter的异同
- servlet和filter的异同
- find()和filter()函数的用法区别
- 解说jquery的has()方法以及与find()方法以及filter()方法的区别
- 0001
- C++中的强制类型转换
- MINA心跳协议
- POJ 2085 JAVA
- 简单修改Linux系统文件描述符限制(Too many open files)
- jquery的has、find和filter函数的异同
- HDU 2222Keywords Search (ac自动机)
- ros的navigation之———gmapping应用详解(in ros)
- oracle case when then
- 细说KVO & KVC & NSNotificationCenter那些事
- P-CNN: Pose-based CNN Features for Action Recognition (CNN篇)
- JNI简介
- 右脑开发/开天眼/打通大周天/近视眼康复
- Django网站中文件下载的实现和网页部分打印的实现。