51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

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

最近发现了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提供的最灵活的查找元素的方法。


赞(0)
未经允许不得转载:工具盒子 » 从jquery的过滤器.filter()方法想到的