前面所讲的方法都可以进行过滤,或者说自带过滤的功能。但是呢,那些方法都是基于当前的元素向外进行查找,而并不包含当前的元素。如果我只是想对当前所选中的元素进行一个筛选,应该如何操作呢?
那么就是使用过滤器,filter
。它需要有一个参数,而且是必须有。毕竟没有参数的过滤器,我们写它也没有意义。
最简单的,它支持使用选择器,这和我们前面那些方法是一样的。然后还可以使用 DOM 元素和 jQuery 对象。这和我们前面一部分方法是一样的。
我就不再展开讲了,因为也实在没有什么值得展开的。啊,好像这一章又可以这么水过去了……
然而并不能,因为作为专业的过滤器,它总是要有一些独特之处的。它的过滤参数也可以是一个函数,对于这个函数,要求也很简单,就是返回值,应该是一个布尔型,如果为真,则这个元素被保留,为假则舍弃。这样让合集中的元素逐个经过函数的判断,最后获得结果。
这种方法就意味着无限的可能性,你想怎样去判断筛选这些元素都可以。
在调用函数的时候会传入两个参数,第 1 个是索引值,第 2 个是当前元素。我们也可以不去管第 2 个参数,而是使用 this
进行指代。
$('a').filter(function(i,el){return $(el).text() === '首页'})// 或者$('a').filter(function(i){return $(this).text() === '首页'})
这两种写法效果是一样的。这里仅仅是演示,你还可以做出更加复杂的判断。
然后嘛,就没有然后了。反正最后这种方法可以适用各种情况,满足各种需求,就是各种好用就对了。都这么好用了,还要什么然后啊~
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容