$.has('selecor')
和$.filter('selector')
方法之间有什么区别,哪一方更好?
它们似乎都执行相同的操作,也许有一些性能优势使用one而不是其他?
答案 0 :(得分:13)
实际上它们完全不同。
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