欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

从jquery的过滤器.filter()方法想到的

程序员文章站 2022-05-06 15:32:30
最近发现了jquery的.filter()方法,这真是一个很强大的方法,最强大之处在于,他可以接受一个函数作为参数,然后根据函数的返回值判断,如果返回值是true,这个元素将被保留,如果返回值是fa...

最近发现了jquery的.filter()方法,这真是一个很强大的方法,最强大之处在于,他可以接受一个函数作为参数,然后根据函数的返回值判断,如果返回值是true,这个元素将被保留,如果返回值是false,这个元素将被剔除。这就是jquery选择器的过滤器。

空说无用,我们展示一下

. 代码如下:


<body>
<p>你好啊,今天及多大了啊</p>
<p><span>为什么要告诉你</span></p>
</body>


如果我们要选择有一个<span>子元素的<p>元素,平常我都是这么写的

. 代码如下:


$("p>span").parent();


现在借助于.filter()我们可以写成这个样子:

. 代码如下:


$("p").filter(function(index){
return $(this).find("span").size();
});


虽然看起来有些麻烦,但是他提供了我们一种极其强大的自定义查找元素的功能,我们可以传递一个函数,然后借助jquery的隐式迭代,来实现查找。

这是目前我看到的jquery提供的最灵活的查找元素的方法。