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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery has()和filter()方法有什么区别?相关的知识,希望对你有一定的参考价值。

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

它们似乎都执行相同的操作,也许使用一个而不是其他的一些性能优势?

答案

它们实际上是完全不同的。

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

以上是关于jQuery has()和filter()方法有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery方法

jquery--常用方法

jquery常用筛选方法

jquery is()和has()方法

jQuery:has()和jQuery:contains()区别

介绍JQuery的基础常用方法$()