jQuery的has()和filter()方法有什么区别?

10

$.has('selector')$.filter('selector')方法有什么区别?哪一个更好?

这两个方法似乎执行相同的操作,也许使用其中一个会有一些性能上的优势

1个回答

15

实际上它们有很大的不同。

filter 操作匹配的元素:

将匹配元素集合减少为与选择器匹配或通过函数测试的元素。

has 过滤基于匹配元素的后代:

减少匹配元素集合为具有与选择器或 DOM 元素匹配的后代的元素。


实用示例:

<span class="outer">outer span</span>
<div  class="outer">
    outer div<br>
    <span>descendant span</span>
</div>

$('.outer').filter('span'); //returns the outer span
$('.outer').has('span');    //returns the outer div

Fiddle


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接